色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

javascript - 如何使用formData上傳file數組

瀏覽:120日期:2023-02-21 09:34:42

問題描述

因為 input type=‘file’ 再次點擊會將之前的fileList覆蓋,所以我先將選中的文件轉成base64作為預覽圖片,類似于這樣,可以多次添加

javascript - 如何使用formData上傳file數組

但是我在上傳的時候如何將多個預覽圖片添加到 formdata 對象中,后臺接受參數是一個 MultipartFile[] files 數組。

下面是我的錯誤做法:

function getImgFiles() { var imgFiles = []; var imgs = $(’img’); $.each(imgs, function (i, item) {var blob = dataURItoBlob(item.src);imgFiles.push(new File([blob], item.id)); }); return imgFiles;}/** * base64->blob * @param dataURI * @returns {Blob} */function dataURItoBlob(dataURI) { var byteString = atob(dataURI.split(’,’)[1]); var mimeString = dataURI.split(’,’)[0].split(’:’)[1].split(’;’)[0]; var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); for (var i = 0; i < byteString.length; i++) {ia[i] = byteString.charCodeAt(i); } return new Blob([ab], {type: mimeString});}var formData = new FormData($(’form’).get(0));formData.append(’files’, getImgFiles());//然后使用ajax上傳,但是后臺沒有接受到 files 參數。

問題解答

回答1:

可以有以下幾種做法:

$.each(getImgFiles(), function(i, file){ formData.append(’files’, file);});

$.each(getImgFiles(), function(i, file){ formData.append(’files[]’, file);});

$.each(getImgFiles(), function(i, file){ formData.append(’files_’ + i, file);});

都應該可以在后臺接收到文件。而具體用哪種做法要看你后臺所使用的語言和框架。

就PHP而言,我喜歡最后一種,可以用 $_FILES 一次遍歷就能獲取到所有的文件/圖片。

回答2:

每次把文件轉出base64的時候,順帶也出個blob,順手append到你的formData結構里就行了。

另外我記得input可以支持多選的吧?

回答3:

你先F12在network里面看看這條請求里面的參數有沒有

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久免费黄色 | 成人综合婷婷国产精品久久免费 | 久久久美女视频 | 日韩毛片在线免费观看 | 亚洲一级毛片免费在线观看 | 日韩成人在线观看视频 | 一级做a爱过程免费视频时看 | 欧美一区二区三区免费看 | 国产精品欧美日韩一区二区 | 99爱视频99爱在线观看免费 | 亚洲天堂手机在线 | 99精品视频免费观看 | 国产精品99r8免费视频2022 | 欧美69视频 | 99久久99久久久99精品齐 | 久久在线一区 | 亚洲厕拍| 九九视频在线播放 | 男女配种猛烈免费视频 | 精品国产一区二区三区成人 | 日韩经典视频 | 久草热线视频 | www夜色| 午夜dj视频完整社区 | 狠狠色综合久久丁香婷婷 | 国产一区二区三区高清视频 | 超91精品手机国产在线 | 成人免费精品视频 | 亚洲天堂成人在线观看 | 成人涩涩屋福利视频 | 在线一区免费视频播放 | 99久在线精品99re6视频 | 国产一级精品毛片 | 97在线免费视频观看 | 一区二区国产精品 | 欧美a级毛片 | 青青青免费手机版视频在线观看 | 亚洲欧美视频一区二区三区 | 欧美精品片在线观看网站 | 国产精品免费_区二区三区观看 | 国产三级在线播放线 |