1

所以我正在尝试使用request/request包上传文件。该文件40589387大小为字节,是一个 .dmg 文件。当我使用包或除直接 HTML 表单之外的任何其他内容上传文件时,它会在文件中添加几个字节。所以这里是一个使用 reuqest 包的例子:

uploadFile(src) {
  var url = this.storageServerAddress + '/uploadfile';
  var formData = {
    _: fs.createReadStream(src)
  };

  return request({
    url: url,
    method: 'POST',
    timeout: 15000,
    formData: formData,
    headers: {
      Filename: getFileName(src)
    }
  });
}

当我阅读时,content-length我得到的字节数比文件大小多 300 字节,最终损坏了 .dmg 文件并使其无法安装。

如果我只是用一个简单的 HTML 表单发送它:

<form enctype="multipart/form-data" action="http://myurl.com" method="post">
  <input type="file" name="file" /><br/>
  <input type="text" name="fileName" /><br/>
</form>

它发送确切数量的字节并且不会损坏我的文件。反正有没有完全复制html表单上传?为什么包会增加更多字节?

4

0 回答 0