Superagent:PUT-ing多部分表单数据

时间:2015-05-29 00:34:11

标签: multipartform-data superagent

是否可以使用多部分表单数据执行PUT请求?

对于Superagent,我希望以下方法有效,但它没有。

var request = Request
  .put("http://localhost:8080/upload_file")
  .field("name", file.name)
  .field("size", file.size)
  .attach("file", file.file, file.file.name)
  .accept("application/json")

如果我发帖,那就行了。不同之处在于Content-Type。使用成功的帖子请求,内容类型为multipart/form-data; boundary=------WebKitFormBoundaryXg34NkBFcYWq60mH

如果我手动设置,我怎么知道边界应该是什么?它似乎是由Superagent自动生成的。

2 个答案:

答案 0 :(得分:1)

不可以,由于PHP中的潜在限制,无法对内容类型的multipart / form-data执行PUT请求,如下所述:https://bugs.php.net/bug.php?id=55815

你可能想看看一个' hack'这是为Chekote / symfony中的Symfony所做的:https://github.com/Chekote/symfony/commit/dc1279b2e4c0e9cbcb5b7d578891c31dd878b43b

答案 1 :(得分:1)

根据Tum的评论,你应该做一个POST。

  

如果我手动设置,我怎么知道边界应该是什么?它似乎是由Superagent自动生成的。

你应该让Superagent自己管理 - 不要试图自己设置类型,不要输入类型调用,当它将其设置为多部分时,它将包含正确的边界标识符。