欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

JavaScript異步圖像上傳如何實現(xiàn)

這篇文章主要介紹“JavaScript異步圖像上傳如何實現(xiàn)”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“JavaScript異步圖像上傳如何實現(xiàn)”文章能幫助大家解決問題。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供余慶網(wǎng)站建設(shè)、余慶做網(wǎng)站、余慶網(wǎng)站設(shè)計、余慶網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、余慶企業(yè)網(wǎng)站模板建站服務(wù),10年余慶做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

使用的代碼

此代碼使用VanillaJS編寫,不使用任何第三方JavaScript庫,因此如果您使用任何第三方框架,您可以使用框架或庫提供的構(gòu)造來調(diào)整概念并實現(xiàn)它。

步驟1:將圖像加載到瀏覽器

JavaScript異步圖像上傳如何實現(xiàn)

如圖所示在上面的例子中,有兩個HTML元素的例子。<  img > DOM元素有顯示選中的圖像。<input>  DOM元素為用戶選擇圖像文件。使用JavaScript文件API,可以聽改變事件處理程序和加載圖像訪問使用JavaScript。

步驟2:生成Base64縮略圖

JavaScript異步圖像上傳如何實現(xiàn)

使用JavaScript訪問圖像后,將其加載到HTML5 FileReader并轉(zhuǎn)換為Base64數(shù)據(jù)URL。然后使用Base64數(shù)據(jù)URL更新 DOM元素。

步驟3:使用Ajax上傳文件

JavaScript異步圖像上傳如何實現(xiàn)  

JavaScript異步圖像上傳如何實現(xiàn)  

使用Ajax,圖像上傳被啟動到服務(wù)器。使用JavaScript, HTML表單提交將異步觸發(fā),具體的代碼將根據(jù)服務(wù)器實現(xiàn)而異,特別是在HTTP方法(例如,這里是POST)和URL方面。

如果服務(wù)器響應(yīng)包含圖像URL,則可以使用它相應(yīng)地更新 DOM元素,或者如果服務(wù)器維護(hù)了適當(dāng)?shù)膱D像訪問路徑約定(例如,/images/),則可以使用它加載圖像。

步驟4:(可選)客戶端縮略圖生成 

<!DOCTYPE html>  <html>  <body>  <input type="file" id="imageFileInput" accept=".jpg, .jpeg, .png" />  <img src="//:0" id="preview" />  <script>  document.getElementById('imageFileInput').addEventListener('change', function() {  var img = this.files[0];  uploadImage(img, '/image/upload', function(url) {  // Image upload to server response  // Show the image using setImageUrl(URL)  });  getBase64ImageUrl(img, function(base64ImageUrl) {  var height = 100,  width = 100;  getThumbnail(base64ImageUrl, height, width, function(base64ThumbnailUrl) {  setImageUrl(base64ThumbnailUrl);  })  });  }, false);  function setImageUrl(url) {  document.getElementById('preview').setAttribute('src', url);  };  function uploadImage(img, url, callback) {  var xhr = new XMLHttpRequest();  var fd = new FormData();  xhr.open("POST", url, true);  xhr.onreadystatechange = function() {  if (xhr.readyState == 4 && xhr.status == 200) {  callback && callback(xhr.responseText);  }  };  fd.append("upload_image", img);  xhr.send(fd);  };  function getBase64ImageUrl(img, callback) {  var reader = new FileReader();  reader.readAsDataURL(img);  reader.onload = function() {  callback && callback(reader.result);  };  reader.onerror = function(error) {  console.log('Error: ', error);  };  };  function getThumbnail(base64ImageUrl, height, width, callback) {  var canvas = document.createElement('canvas');  var ctx = canvas.getContext("2d");  var image = new Image();  image.src = base64ImageUrl;  image.onload = function() {  ctx.drawImage(image, 0, 0, width, height); callback && callback(canvas.toDataURL());  };  }  </script>  </body>  </html>

關(guān)于“JavaScript異步圖像上傳如何實現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

當(dāng)前標(biāo)題:JavaScript異步圖像上傳如何實現(xiàn)
當(dāng)前網(wǎng)址:http://chinadenli.net/article48/jsephp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、服務(wù)器托管、移動網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
精品国产av一区二区三区不卡蜜 | 色婷婷丁香激情五月天| 国产级别精品一区二区视频| 国产毛片不卡视频在线| 欧美一区二区黑人在线| 欧美日韩高清不卡在线播放| 久久这里只有精品中文字幕| 日本人妻熟女一区二区三区| 午夜精品成年人免费视频| 日本人妻中出在线观看| 日本高清二区视频久二区| 亚洲欧美中文日韩综合| 国产一区二区精品丝袜 | 日韩黄片大全免费在线看| 免费黄片视频美女一区| 亚洲中文字幕综合网在线| 欧美一区二区三区十区| 日韩女优精品一区二区三区| av在线免费观看在线免费观看| 麻豆欧美精品国产综合久久| 欧美日本道一区二区三区| 欧美乱妇日本乱码特黄大片| 微拍一区二区三区福利| 丰满人妻熟妇乱又伦精另类视频 | 亚洲伦理中文字幕在线观看| 亚洲中文字幕在线观看黑人| 日韩精品少妇人妻一区二区| 亚洲中文字幕高清乱码毛片| 欧美日韩中黄片免费看| 国产又色又爽又黄又大| 亚洲午夜福利视频在线| 中文字幕乱码免费人妻av| 国产原创激情一区二区三区| 欧美日韩亚洲巨色人妻| 国产成人精品视频一区二区三区| 欧美激情一区二区亚洲专区| 久久精视频免费视频观看| 插进她的身体里在线观看骚| 草草草草在线观看视频| 国产又猛又黄又粗又爽无遮挡| 欧美同性视频免费观看|