av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 關(guān)于ajax上傳多圖問題。

瀏覽:102日期:2023-05-26 09:54:42

問題描述

不知道ajax 是如何上傳多圖發(fā)送給后臺(tái)的。

單個(gè)圖片的話可以用base64發(fā)送給后臺(tái), 但是如果多圖用這個(gè)方法就不適宜了,因?yàn)閎ase64會(huì)很大。

用什么方式發(fā)送給后臺(tái)的? 后臺(tái)如果是PHP 是如何接收?

根據(jù)評論的方法,明明選擇了2個(gè)圖片上傳。 為什么后臺(tái)只顯示1個(gè)文件?

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <script src='https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js'></script></head><body><form id='form'> <input type='file' multiple='' name='file'> <button type='button'>上傳</button></form><script>document.getElementById(’btn’).onclick = () => { $.ajax({url: ’./test.php’,type: ’POST’,dataType: ’text’,data: new FormData(document.getElementById(’form’)),processData: false,contentType: false, }) .done(function(data) {console.log(data); })}</script> </body></html>

javascript - 關(guān)于ajax上傳多圖問題。

javascript - 關(guān)于ajax上傳多圖問題。

問題解答

回答1:

還是用表單吧,你選擇直接ajax的原因應(yīng)該是不想刷新頁面,這樣的話可以使用formdata進(jìn)行ajax提交,這是一個(gè)H5的新屬性,具體的可以看看實(shí)例,它最主要的功能就是將表單域里的內(nèi)容封裝成formdata,然后用ajax提交出去,表單控件的name對應(yīng)后臺(tái)的參數(shù)name,至于多個(gè)圖片就用一組相同name的input就可以了。下面是js和效果圖,還要不懂的話可以追問。javascript - 關(guān)于ajax上傳多圖問題。

javascript - 關(guān)于ajax上傳多圖問題。

回答2:

http://www.jianshu.com/p/756e...多圖就是多append進(jìn)FormData而已

回答3:

使用FormData提交就可以了

funUploadFile: function(form, files) { var that = this; var formData = new FormData(form[0]); for (var i = 0; i < files.length; i++) {formData.append(’file[’ + i + ’]’, files[i]); } var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) {var data = JSON.parse(xhr.responseText);//提交返回 }} //偵查當(dāng)前附件上傳情況 xhr.upload.onprogress = function(evt) {var loaded = evt.loaded;var tot = evt.total;var per = Math.floor(100 * loaded / tot); //已經(jīng)上傳的百分比 // console.log(per); } xhr.open('post', 上傳地址); xhr.send(formData);}回答4:

function httpUpload(url, formData) { //formData.append('_token', window._token); return new Promise(function (resolve, reject) {$.ajax({ url: url, type: ’POST’, data: formData, processData: false, contentType: false, dataType: 'json', success: function (response) {resolve(response); }, error: function (response) {reject(response); }}); });}

https://developer.mozilla.org...主要就是將要上傳的文件往formData里面append后端該怎么取就怎么取(php: $_FILES里面)

回答5:

貌似題主的初衷是一起傳太大了? 可以一個(gè)一個(gè)傳,失敗了也能重試,實(shí)現(xiàn)成本低。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 91高清视频 | 国产精品久久 | 国产免费拔擦拔擦8x高清 | 久久精品亚洲精品国产欧美 | 日本激情视频网 | 午夜天堂精品久久久久 | 国产成人免费视频网站视频社区 | 污免费网站| 免费中文字幕 | 男女视频在线免费观看 | 一区久久 | 欧美在线一区二区三区四区 | 亚洲国产成人在线 | 国产成人一区二 | 久精品视频 | 狠狠天天 | 黄网站涩免费蜜桃网站 | 久久久91精品国产一区二区三区 | 日本在线视频一区二区 | 久久亚洲国产 | 日韩超碰在线 | 精品久久一区 | 精品亚洲一区二区 | 日韩欧美一区二区三区免费观看 | 91资源在线 | 亚洲第一在线 | 网站黄色av| 亚洲第一天堂无码专区 | a黄在线观看 | 人人操日日干 | 成人免费在线播放视频 | 精品国产一区二区三区性色av | 日韩一区不卡 | 国产精品一区二区久久 | 欧美看片 | www久久爱 | 91久久| 日本高清在线一区 | 欧美视频免费 | 亚洲高清久久 | 最新免费av网站 |