日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php js 异步上传图片,javascript实现异步图片上传方法实例

發布時間:2025/4/16 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php js 异步上传图片,javascript实现异步图片上传方法实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何通過javascript寫出異步圖片上傳?本文我們就和大家分享一些實例代碼javascript實現異步圖片上傳。我們首先看下HTML代碼實現的form提交部分。其中大家在測試的時候需要把test的URL更換成自己的,也可以直接寫一個本地地址測試。

html代碼:

保存

js代碼:

var Fileupload = {

fileInput: $("#fileImage").get(0),

dragDrop: $("#fileDragArea").get(0),

upButton: $("#fileSubmit").get(0),

url: $("#uploadForm").attr("action"),

})(),

//文件上傳

funUploadFile: function() {

var self = this;

for (var i = 0, file; file = this.fileFilter[i]; i++) {

(function(file) {

var xhr = new XMLHttpRequest();

if (xhr.upload) {

// 上傳中

xhr.upload.addEventListener("progress", function(e) {

self.onProgress(file, e.loaded, e.total);

}, false);

// 文件上傳成功或是失敗

xhr.onreadystatechange = function(e) {

if (xhr.readyState == 4) {

if (xhr.status == 200) {

self.onSuccess(JSON.parse(xhr.responseText));

self.funDeleteFile(file);

if (!self.fileFilter.length) {

//全部完畢

self.onComplete();

}

} else {

self.onFailure(file, xhr.responseText);

}

}

};

//準備FormData對象

var myForm = document.getElementById('uploadForm');

//將文件放入FormData對象中

formData = new FormData(myForm);

// 開始上傳

xhr.open("POST", self.url, true);

xhr.send(formData);

}

})(file);

}

},

init: function() {

var self = this;

//上傳按鈕提交

if (this.upButton) {

console.log('提示: 當前存儲服務器地址', this.url)

this.upButton.addEventListener("click", function(e) {

self.funUploadFile(e);

}, false);

}

self.bindEvent();

}

};

Fileupload = $.extend(Fileupload);

Fileupload.init();

FormData 異步上傳文件

一、創建FormData放入待上傳文件

//準備FormData對象

var formData = new FormData(),

uploadFile = document.getElementById('file');

//將文件放入FormData對象中

formData.append('file', uploadFile.files[0]);

二、通過xhr發送FormData數據到服務器,實現文件上傳

//創建xhr對象

var xhr = new XMLHttpRequest();

//監聽文件上傳進度

xhr.upload.onprogress = function(evt){

//lengthComputabel: 文件長度是否可計算

if(evt.lengthComputable){

//evt.loaded: 已下載的字節數

//evt.total: 文件總字節數

var percent = Math.round(evt.loaded*100/evt.total);

console.log(percent);

}

}

//監聽文件傳輸開始

xhr.onloadstart = function(evt){

xhr.abort() //終止上傳

}

//監聽ajax成功完成事件

xhr.onload = function(evt){

...

}

//監聽ajax錯誤事件

xhr.onerror = function(evt){

...

}

//監聽ajax被中止事件

xhr.onabort = function(evt){

...

}

//監聽傳輸結束事件: 不管成功或者失敗都會觸發

xhr.onloaded = function(evt){

...

}

//*發起ajax請求數據

xhr.open('POST', '/url', true);

xhr.send(formData);

以上內容就是javascript實現異步圖片上傳方法實例,希望能幫助到大家。

相關推薦:

總結

以上是生活随笔為你收集整理的php js 异步上传图片,javascript实现异步图片上传方法实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。