亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用Ajax XmlHttpRequest上傳文件

使用Ajax XmlHttpRequest上傳文件

慕桂英3389331 2019-08-08 15:39:20
使用Ajax XmlHttpRequest上傳文件嗨,我正在嘗試使用此代碼發送帶有xmlhttprequest的文件。<script>     var url= "http://localhost:80/....";     $(document).ready(function(){         document.getElementById('upload').addEventListener('change', function(e) {             var file = this.files[0];             var xhr = new XMLHttpRequest();             xhr.file = file; // not necessary if you create scopes like this             xhr.addEventListener('progress', function(e) {                 var done = e.position || e.loaded, total = e.totalSize || e.total;                 console.log('xhr progress: ' + (Math.floor(done/total*1000)/10) + '%');             }, false);             if ( xhr.upload ) {                 xhr.upload.onprogress = function(e) {                     var done = e.position || e.loaded, total = e.totalSize || e.total;                     console.log('xhr.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%');                 };             }             xhr.onreadystatechange = function(e) {                 if ( 4 == this.readyState ) {                     console.log(['xhr upload complete', e]);                 }             };             xhr.open('post', url, true);             xhr.setRequestHeader("Content-Type","multipart/form-data");             xhr.send(file);         }, false);     });</script>但我得到了這個錯誤:請求被拒絕,因為沒有找到多部分邊界幫助我..
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

  1. 沒有這樣的事情xhr.file = file;; 文件對象不應該以這種方式附加。

  2. xhr.send(file)不發送文件。您必須使用該FormData對象將文件包裝到multipart/form-datapost數據對象中:

    var formData = new FormData();formData.append("thefile", file);xhr.send(formData);

之后,可以訪問該文件$_FILES['thefile'](如果您使用的是PHP)。

請記住,MDCMozilla Hack演示是您最好的朋友。

編輯:上面的(2)是不正確的。它確實發送文件,但它會將其作為原始發布數據發送。這意味著您必須自己在服務器上解析它(而且通常不可能,取決于服務器配置)。了解如何在PHP中獲得的原始數據后這里


查看完整回答
反對 回復 2019-08-08
  • 1 回答
  • 0 關注
  • 662 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號