Android web對(duì)于input-file的支持不太好,,到了android 4.4是連選擇文件的窗口都打不開(kāi)了,我以前有試過(guò),這個(gè)如果你是app里面嵌入webview,建議上傳文件這一環(huán)節(jié)交給原生去做,原生上傳好文件給到web文件信息。
創(chuàng)新互聯(lián)建站10多年成都定制網(wǎng)頁(yè)設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)頁(yè)設(shè)計(jì)及推廣,對(duì)成都橡塑保溫等多個(gè)行業(yè)擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
如果是純webapp的話,微信可以用公眾平臺(tái)提供的js api,里面有上傳圖片的接口.其它的web網(wǎng)頁(yè)就沒(méi)什么好的方式了。
websocket目前只支持文本,不支持二進(jìn)制數(shù)據(jù)。上傳多個(gè)文件,用 input type="file" 結(jié)合 ajax 的 POST 足夠了
//代碼不支持IE 因?yàn)镮E對(duì)HTML5支持不好$("#file").change(function(event) { var file = $("#file")[0].files[0]; PostFile(file,0); });function PostFile(file,i){ var name = file.name, //文件名 size = file.size, //總大小shardSize = 2 * 1024 * 1024, shardSize = 2 * 1024 * 1024,//以2MB為一個(gè)分片 shardCount = Math.ceil(size / shardSize); //總片數(shù) if(i = shardCount){ return; } //計(jì)算每一片的起始與結(jié)束位置 var start = i * shardSize, end = Math.min(size, start + shardSize); //構(gòu)造一個(gè)表單,F(xiàn)ormData是HTML5新增的 var form = new FormData(); form.append("data", file.slice(start,end)); //slice方法用于切出文件的一部分 form.append("lastModified", file.lastModified); //slice方法用于切出文件的一部分 form.append("name", name); form.append("total", shardCount); //總片數(shù) form.append("index", i + 1); //當(dāng)前是第幾片 //Ajax提交 $.ajax({ url: "/test/AjaxFile", type: "POST", data: form, async: true, //異步 processData: false, //很重要,告訴jquery不要對(duì)form進(jìn)行處理 contentType: false, //很重要,指定為false才能形成正確的Content-Type success: function(data){ if(data){ i = data++; var num = Math.ceil(i*100 / shardCount); $("#output").text(num+'%'); PostFile(file,i); } } }); }
html傳多個(gè)文件對(duì)前端來(lái)說(shuō)是一股腦的提交,但是其實(shí)主要還是看后臺(tái)是如何接收的。后臺(tái)可以設(shè)置一次性接收的文件數(shù)據(jù),文件大小等等。其實(shí)就和平時(shí)的上傳下載是一樣的。
以下載為例:下載的時(shí)候,比如用迅雷下載,你的本機(jī)是否可以選擇并行下載、逐個(gè)下載還可以停止、繼續(xù)下載。同樣的,上傳也是一個(gè)類似的過(guò)程,主要依靠服務(wù)器代碼進(jìn)行管理設(shè)置。本質(zhì)上,是兩個(gè)計(jì)算機(jī)之間相互傳遞數(shù)據(jù)流而已。
當(dāng)然,在默認(rèn)的時(shí)候,服務(wù)器是接收多個(gè)文件的,比如javaweb中struts2接收文件默認(rèn)是接收完所有文件然后再操作的。
!DOCTYPE?HTML
html
meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"
body
script?type="text/javascript"
function?onc(){
var?files?=?document.getElementById("input").files;
for(var?i=0;?i?files.length;?i++){
alert(input.files[i].name);
}
}
/script
input?type="file"?id="input"?name="input"?multiple="multiple"?/
button?onclick="onc()"查看文件/button
/form
p請(qǐng)嘗試在瀏覽文件時(shí)選取一個(gè)以上的文件。/p
/body
/html
名稱欄目:html5上傳多文件,h5 多文件上傳
URL鏈接:http://jinyejixie.com/article18/dssehdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、服務(wù)器托管、響應(yīng)式網(wǎng)站、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)