欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在JavaScript中使用FormData類上傳文件-創(chuàng)新互聯(lián)

怎么在JavaScript中使用FormData類上傳文件?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設中從網(wǎng)站色彩、結構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設10年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。

案例一:xhr.upload.onprogress監(jiān)控文件的上傳進度,并且動態(tài)顯示

怎么在JavaScript中使用FormData類上傳文件

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
 .progress {
 width: 100px;
 height: 10px;
 background-color: #eee;
 }
 .progress-bar {
 width: 0;
 height: 10px;
 background-color: blue;
 }
 </style>
</head>
<body>
 <form action="" id="form">
 <input type="file" name="file" id="file">
 </form>
 <div class="progress">
 <div class="progress-bar" id="bar"></div>
 </div>
 <script>
 var file = document.getElementById("file");
 var bar = document.getElementById("bar");
 file.onchange = function () {
 var formData = new FormData();
 // 上傳的文件
 formData.append('attrName', this.files[0]);

 var xhr = new XMLHttpRequest();
 xhr.open("post", "/upload");
 // xhr.upload.onprogress監(jiān)聽上傳進度
 xhr.upload.onprogress = function (ev) {
 // ev.loaded表示上傳了多少,ev.total表示文件的總大小
 var result = (ev.loaded / ev.total * 100).toFixed(2) + '%';
 // result為進度百分比
 bar.style.width = result;
 bar.innerHTML = result;
 }
 xhr.send(formData);
 xhr.onload = function () {
 if(xhr.status == 200) {
  console.log(xhr.responseText);
 }
 }
 }
 </script>
</body>
</html>

案例二:服務器端返回上傳路徑,供客戶端預覽上傳的圖片效果

成功預覽我家耶啵的帥照

怎么在JavaScript中使用FormData類上傳文件

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
 .progress {
 display: inline-block;
 width: 600px;
 height: 20px;
 border-radius: 5px;
 background-color: #eee;
 }
 .progress-bar {
 width: 0;
 height: 20px;
 background-color: orange;
 border-radius: 5px;
 font-size: 16px;
 text-align: center;
 color: #fff;
 }
 </style>
</head>
<body>
 <form action="" id="form">
 <input type="file" name="file" id="file">
 <div class="progress">
 <div class="progress-bar" id="bar"></div>
 </div>
 </form>
 
 <div id="box"></div>
 <script>
 var file = document.getElementById("file");
 var bar = document.getElementById("bar");
 var box = document.getElementById("box");
 file.onchange = function () {
 var formData = new FormData();
 // 上傳的文件
 formData.append('attrName', this.files[0]);

 var xhr = new XMLHttpRequest();
 xhr.open("post", "/upload");
 xhr.upload.onprogress = function (ev) {
 // ev.loaded表示上傳了多少,ev.total表示文件的總大小
 var result = (ev.loaded / ev.total * 100).toFixed(2) + '%';
 // result為進度百分比
 bar.style.width = result;
 bar.innerHTML = result;
 }
 xhr.send(formData);
 xhr.onload = function () {
 if(xhr.status == 200) {
  var result = JSON.parse(xhr.responseText);
  var img = document.createElement('img');
  img.src = result.path;
  // 圖片加載完成在進行顯示,否則用戶會看到圖片的加載過程,效果不好
  img.onload = function () {
  box.appendChild(img);
  }
 }
 }
 }
 </script>
</body>
</html>

nodejs服務器端的部分代碼:

app.post('/upload', (req, res) => {
 // 創(chuàng)建formidable表單解析對象
 const form = new formidable.IncomingForm();
 // 上傳文件的路徑
 form.uploadDir = path.join(__dirname, 'public', 'uploads');
 // 上傳文件的后綴名保留
 form.keepExtensions = true;
 // 解析客戶端傳遞過來的FormData對象
 form.parse(req, (err, fileds, files) => {
 // 將文件的地址扒出來以json對象的形式返回給客戶端
 res.send({
 path: files.attrName.path.split('public')[1]
 });
 })
})

關于怎么在JavaScript中使用FormData類上傳文件問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道了解更多相關知識。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)頁標題:怎么在JavaScript中使用FormData類上傳文件-創(chuàng)新互聯(lián)
文章源于:http://aaarwkj.com/article42/ishec.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、虛擬主機營銷型網(wǎng)站建設、網(wǎng)站導航網(wǎng)頁設計公司、App設計

廣告

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

成都seo排名網(wǎng)站優(yōu)化
av电影国产在线观看| 日日嗨av特一级黄淫片| 91精品国产高清久久福利| 日本不卡二区高清三区| 日韩电影一区二区在线观看中文字幕 | 日韩高清在线一区二区三区| 老女人性生交大片免费| 少妇欧美日韩精品在线观看| 精品亚洲国产一区二区三区| 亚洲精品偷拍在线观看| 99国产精品的热久久| 少妇人妻精品一区三区二区 | 日本高清不卡中文字幕| av熟女乱一区二区三区| 国产精品九九久久精品三级| 日韩亚洲欧美国产另类| 岛国av不卡一二三区| 欧美亚洲中文字幕高清| 欧美三级精品三级在线| 亚洲成人av福利网站| 欧美久久精品在线观看| 日本成人一区二区三区在线| 国产三级视频网站在线观看| 日韩视频一区二区三区系列| 亚洲高清无毛一区二区| 香婷婷一区二区精品久久| 欧美三级亚洲三级日韩三级| av一区二区中文字幕| 国产精品国产三级国产不卡| 欧美福利区免费观看视频| 亚洲成色在线综合剧情网站 | 狠狠久久五月综合色和啪| 亚洲日本一区二区高清| 免费观看日本成人午夜大片| 人妻少妇一区二区三区四区| 亚州无吗一区二区三区| 自拍日韩亚洲一区在线| 成人做爰片免费看视频| 亚洲国产精品有码专区| 国产精品日本在线观看| 激情五月天色婷婷久久|