Node.js - 使用 XHR 进行强大的上传
我尝试实现一个简单的 XHR 上传到 Node.js(通过 Formidable)。问题是,如果我设置
xhr.setRequestHeader("Content-Type", "multipart/form-data");
节点会给我错误:
Error: bad content-type header, no multipart boundary
如果我将边界设置为随机字符串,则什么也不会发生。浏览器只是挂在 POST 上并等待服务器响应。
关键是,如果我将 formidable 与常规同步 POST 一起使用,一切都会正常工作。
有人尝试使用 Formidable 进行 XHR 上传吗?
I try to implement a simple XHR upload to Node.js (via Formidable). The problem is that if I set
xhr.setRequestHeader("Content-Type", "multipart/form-data");
node gives me error:
Error: bad content-type header, no multipart boundary
If I set boundary to just a random string nothing happens. The browser just hangs on POST and waits for server response.
The point is that if I use formidable with regular synchronous POST everything works fine.
Anyone tried to use Formidable with XHR upload?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想通了。我在客户端犯了一个小错误。
这是使用 Formidable 上传 XHR 的工作示例,
您不需要设置任何边界或特殊标头。
客户端
服务器
I figured it out. I made a small bug on the client side.
Here is the working expample of XHR upload with Formidable
You don't need to set any boundaries or special headers.
Client
Server
我用 Formidable 尝试了几种不同的方法,但始终无法让它接受 XHR 上传。这是我最终使用 Express 上传文件所做的事情。
希望这有帮助。
I tried a couple of different things with Formidable and was never able to get it to accept a XHR upload. Here is what I ended up doing for a file upload using express.
Hope this helps.