肥皂起泡泡
2019-03-13 17:15:25
本地選擇圖片然后通過ajax上傳服務(wù)器,不想用form表單,用h5的fileReader報錯,怎么解決轉(zhuǎn)換的代碼convertToBase64() { let fileReader = new FileReader() //最大上傳2m的圖片 const AllowImgFileSize = 2100000 let imgUrlBase64; imgUrlBase64 = fileReader.readAsDataURL('https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg') fileReader.onloadend = function() { if (AllowImgFileSize != 0 && AllowImgFileSize < fileReader.result.length) { alert( '上傳失敗,請上傳不大于2M的圖片!') return }else{ console.log(imgUrlBase64) //執(zhí)行上傳操作 console.log(fileReader.result); } } }現(xiàn)在是傳死了一個在線的圖片地址,實際是input(type=file)獲取到的值傳這兩種值都報錯真的不知道怎么解決,第一次用fileReader。這個是最簡單的,還有沒有別的簡單可行的方法。用的是react框架
3 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗 獲得超4個贊
本地選擇圖片然后通過ajax上傳服務(wù)器,不想用form表單
上傳圖片還真的只能用multipart/form-data
,就是你所說的form
表單。因為其他body
通常收長度限制,你想用base64
發(fā)必須讓后臺支持你的長度,而如果在同時被body
足夠長的報文攻擊直接GG。
事實上你在input=file
選中文件返回的就是File
,通過FormData
接口用ajax
傳上去就好了,而其他方式你根本獲取不了本地圖片,你的例子是想通過遠(yuǎn)程圖片服務(wù)器1去上傳到遠(yuǎn)程圖片服務(wù)器2么?如果你真是要做這件事倒可以轉(zhuǎn)成blob
再按前面說的方式上傳。(奇怪的需求)

犯罪嫌疑人X
TA貢獻(xiàn)2080條經(jīng)驗 獲得超4個贊

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊
添加回答
舉報
0/150
提交
取消