REST文件上传POST请求的示例?

REST文件上传POST请求的示例?,rest,http,cowboy,Rest,Http,Cowboy,我试图用Cowboy在Erlang中创建一个RESTful服务器,但由于我对HTTP请求一无所知,所以遇到了麻烦。我找不到一个RESTful文件上传请求的例子,只有一个普通的 这适用于常规HTTP服务器(可在Cowboy示例中找到)上载文件compile.sh,其中包含git add*;git提交-a-m“上传”;git推送: POST /upload HTTP/1.1 Host: 169.229.85.167:8080 Content-Type: multipart/form-data; bo

我试图用Cowboy在Erlang中创建一个RESTful服务器,但由于我对HTTP请求一无所知,所以遇到了麻烦。我找不到一个RESTful文件上传请求的例子,只有一个普通的

这适用于常规HTTP服务器(可在Cowboy示例中找到)上载文件
compile.sh
,其中包含
git add*;git提交-a-m“上传”;git推送

POST /upload HTTP/1.1
Host: 169.229.85.167:8080
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryd1YD0OADcYFcuL0v
Origin: http://169.229.85.167:8080
Accept-Encoding: gzip, deflate
Authorization: Basic cmltcm9jazpwYXNzd29yZA==
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10
Referer: http://169.229.85.167:8080/
Content-Length: 243
Accept-Language: en-us

------WebKitFormBoundaryd1YD0OADcYFcuL0v
Content-Disposition: form-data; name="inputfile"; filename="upload.sh"
Content-Type: application/x-sh

git add * ; git commit -a -m "upload" ; git push

------WebKitFormBoundaryd1YD0OADcYFcuL0v--
但如果我将此请求发送到RESTful服务器,则会得到以下响应:

HTTP/1.1 415 Unsupported Media Type
connection: keep-alive
server: Cowboy
date: Fri, 24 Oct 2014 04:34:06 GMT
content-length: 0
content-type: text/html
vary: accept

现在,我可能把RESTful服务器弄错了,但我不确定。很多都是封装在《牛仔》中的,所以我真的不知道它是如何工作的。RESTful服务器的请求应该是不同的吗?

RESTful文件上传请求和“普通请求”之间实际上没有什么区别。如果您使用的是HTTP POST,那么无论哪种方式都是HTTP请求


当您收到
415不支持的媒体类型
响应时,这很可能意味着您的(RESTful)服务器不
接受您发布的
多部分/表单数据
内容类型。您需要查看RESTful服务器能够接受什么,您可以向同一URL发送选项请求以发现此问题,或者检查服务器端代码。

谢谢,问题一定出在服务器上。它应该接受
多部分/表单数据
,但出现了一些问题。