我有一個通過URL上傳圖片的功能。 我想更改文件的名稱,以下載文件:'image.jpg'。更改下載的文件名
這裏就是我所做的:
public downloadImageJpeg(instanceUID: string, format: string): string {
var a = document.createElement("a");
a.download = 'image.jpg';
a.href = this.getRootUrl() + `/dicom/instances/${instanceUID}/wado/jpg`;
var e = document.createEvent("MouseEvents");
e.initMouseEvent("click", true, false, document.defaultView, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
}
我的圖片上傳,但其名稱不會改變,這是「jpg.jpg」。你知道爲什麼它不是'image.jpg'?
//////////////編輯//////////////:
不過,我覺得我的錯誤來自a.href
。在一些例子中,我看到他有參數。 我嘗試這樣做:
a.href = "data:image/jpg;base64," + this.getRootUrl() + `/dicom/instances/${instanceUID}/wado/jpg`;
更改文件名很好,但沒有下載即時通訊,這使我的「網絡故障錯誤」
我嘗試它在純js,它爲我工作...你的名字是什麼意思沒有改變,當你點擊鏈接(或觸發事件)的默認建議名稱是jpg.jpg'?你使用的是什麼瀏覽器? –
@ m.nachury 是的,當我點擊調用我的函數'downloadImageJpeg'的按鈕時,它會自動下載一個名爲'jpg.jpg'而不是'image.jpg'的文件。我使用Google Chrome。 – Floriane
你可以在不同的瀏覽器下試試這個,如果他認爲數據源是可能由角度引起的「交叉源」,那麼有時忽略下載屬性。試試在不同的瀏覽器下看看是否是這樣。 –