JS 可斷點續(xù)傳文件上傳實現(xiàn)教程

發(fā)布時間:2024-03-19
剛開始學(xué)習(xí)前端開發(fā)就碰到文件上傳問題,還要求可斷點續(xù)傳。查了很多資料,發(fā)現(xiàn)h5的file api剛好可以滿足我們的需求,也遇到了一些問題,于是記錄下來為有同樣需求的朋友提供一些幫助。
一、首先,為了引入文件對象,需要在h5頁面上放置一個file類型的輸入標簽。
<input type="file" onchange="fileinfo()">
當選擇文件之后顯示文件相關(guān)信息:
function fileinfo() {
let fileobj = document.getelementbyid('file').files[0];
console.log(fileobj);
}
我們獲取到的對象本身是一個數(shù)組,這里只選擇了一個文件,需要選擇多個文件可在input標簽添加multiple屬性?,F(xiàn)在我們打開瀏覽器控制臺可以看到輸出了文件的最后修改時間、文件大小和文件名等信息:
// 上傳一塊完成后修改進度條信息,然后上傳下一塊
document.getelementbyid('progress').value = end;
upload(end);
然后打開瀏覽器,在上傳過程中故意關(guān)閉瀏覽器下次再選擇同一文件時即可從斷點位置開始續(xù)傳。
四、雖然已經(jīng)實現(xiàn)了可斷點續(xù)傳的文件上傳功能,但是界面還需要美化一下,這里引用bootstrap框架,需要jquery,順便用jquery的ajax代替原生js的ajax,需要注意的是$.ajax的processdata和contenttype屬性都要設(shè)置成false:
// post表單數(shù)據(jù)
$.ajax({
url: 'upload.php',
type: 'post',
data: fd,
processdata: false,
contenttype: false,
success: function() {
upload(end);
}
});
最后美化完成的效果圖如下:
推薦教程:《js教程》
上一個:三星s7edge怎么換鎖屏,三星手機如何更換屏幕鎖
下一個:wavelength references可調(diào)諧激光器clarityplus

人身保護令需要什么材料
夫妻離婚小孩撫養(yǎng)費怎么判
離婚后對方拒不履行精神損害賠償怎么辦
k5評測(k5zol)
花卉無土栽培技術(shù)的優(yōu)點
怎么使vivo手機截屏快,vivo按哪幾個健可以快速截屏
六堡茶的制法
冬凌草的化學(xué)成分
科文邀您如何選購高低溫濕熱試驗箱
如何正確認定爆炸罪
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos