簡體   English   中英

如何從服務器讀取doc文件,然后通過javascript中的XHR將其上傳到另一台服務器?

[英]How to read an doc file from a server and then upload it to another server via an XHR in javascript?

我正在從服務器xyzserver/Education.doc發出get請求並記錄響應,結果表明:

ࡱ > \\ ^ [ bjbj s4> 2z#z#z#z ## 2#@ 6 $ 6 $ 6 $ 6 $ 6 $ I $ I%I%I%r @ t @ t @ t @ t @ t @ t @ t @ t @ $ AhED: @'E%I%''@ 6 $ 6 $ @''。'''' ``6 $ 6 $ r @ ''r @ '。'h9 <= 6 $ * $ 3 z#''。< = @0 @,

我想通過XHR請求將此數據/文件上傳到另一台服務器。
我是這樣做的:

xhr.send({ url : "http://abcserver/abc.doc", method : "GET" }, function(data) {
  if ( data.status == 200 && data.response != null ) {
    var fd = new FormData();
    fd.append('file', data.response);
    XHR.open('POST', 'http://abc/upload');
    XHR.setRequestHeader('Content-Type', 'multipart/form-data');
    XHR.sendAsBinary(fd);
  }
  else { // something went wrong
    console.log("something is wrong");
  }
});

但是失敗了。
這是請求標頭:

接受: /接受編碼:gzip,縮小接受語言:zh-CN,en; q = 0.8,hi; q = 0.6緩存控制:max-age = 0連接:保持有效Content-Length:59256 Content-類型:multipart / form-data; boundary = gc0p4Jq0M2Yt08jU534c0p主機:localhost:8080來源: http ://stackoverflow.com引用人: 無法附加<script>元素 User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit /537.36(KHTML,例如Gecko)Chrome / 44.0.2403.125 Safari / 537.36請求有效載荷------ WebKitFormBoundaryDwpm9n3Ucp31JnIC Content-Disposition:表單數據; NAME = “文件”

ࡱ > \\ ^ [ bjbj s4> 2z#z#z#z ## 2#@ 6 $ 6 $ 6 $ 6 $ 6 $ I $ I%I%I%r @ t @ t @ t @ t @ t @ t @ t @ t @ $ AhED: @'E%I%''@ 6 $ 6 $ @''。'''' ``6 $ 6 $ r @ ''r @ '。'h9 <= 6 $ * $ 3 z#''。< = @0 @,

發生了什么? 如何解決此問題並實現上傳?

看一下MDN文檔

您可以嘗試使用

XHR.responseType = "arraybuffer";

通知瀏覽器您正在使用某些二進制類型。

示例JSFiddle來獲取一個.doc文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM