是否可以使用多部分表单数据执行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自动生成的。
答案 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自己管理 - 不要试图自己设置类型,不要输入类型调用,当它将其设置为多部分时,它将包含正确的边界标识符。