js vue 關於上傳檔案IE9的相容

2021-10-08 21:15:15 字數 1286 閱讀 3168

思路

做vue專案,用的element-ui,上傳檔案不支援ie9,

而且ie9不支援new formdata()

後來查到 vue-upload-component 外掛程式支援ie9,

但是使用過程中有以下限制

檔案上傳後,不能重複提交

如果上傳要攜帶其他data資料,在選擇檔案的那一刻已經賦值上去,無法修改

由於我們的錄入資訊頁面,包含了一些form表單,還有上傳檔案,是一起的,但是這個外掛程式就限制了,選擇檔案後,其他資料修改不生效等問題。

所以,它比較適用於,單單上傳檔案,不懈怠其他引數的需求,支援上傳多個檔案等。

檢視了原始碼,決定改為原生的上傳來支援ie9;

原生上傳的思路是,建立form,設定好action和method,手動submit提交。

let formdata =

newwindow.formdata()

;let value ="";

for(

var key in

this

.ruleform)

this

.$post

('paysalaryuploadfile'

,formdata)

.then

(res =>

);

let id = math.

random()

.tostring(36

).substr(2

);var form = document.

createelement

('form');

form.action =

"/upload.do"

;form.name =

'upload-form-'

+ id;

form.

setattribute

('method'

,'post');

form.

setattribute

('enctype'

,'multipart/form-data');

var value ='';

var input ='';

for(

var key in

this

.ruleform)

}document.body.

(form)

;// 提交

form.

submit

()

IE9 開發IE9上的螢幕取詞功能

螢幕取詞 是詞典軟體 如 金山詞霸 裡面乙個必要功能。在ie9中,由於使用direct2d介面取代gdi做頁面渲染,原來基於gdi介面的螢幕取詞技術將無法繼續正常工作。因此,如果你的軟體用到了螢幕取詞相關技術,需要針對ie9做調整。建議的解決方案 使用 ui automation api。微軟有乙個...

IE9 開發IE9上的螢幕取詞功能

螢幕取詞 是詞典軟體 如 金山詞霸 裡面乙個必要功能。在ie9中,由於使用direct2d介面取代gdi做頁面渲染,原來基於gdi介面的螢幕取詞技術將無法繼續正常工作。因此,如果你的軟體用到了螢幕取詞相關技術,需要針對ie9做調整。建議的解決方案 使用 ui automationapi。微軟有乙個開...

IE9 開發IE9上的螢幕取詞功能

螢幕取詞 是詞典軟體 如 金山詞霸 裡面乙個必要功能。在ie9中,由於使用direct2d介面取代gdi做頁面渲染,原來基於gdi介面的螢幕取詞技術將無法繼續正常工作。因此,如果你的軟體用到了螢幕取詞相關技術,需要針對ie9做調整。建議的解決方案 使用 ui automation api。微軟有乙個...