私の休息要求:
RestSharp.RestClient uplClient = new RestSharp.RestClient();
RestSharp.RestRequest request = new RestSharp.RestRequest(IMAGE_UPLOAD_URI, Method.POST);
request.AddParameter("user", USER_HASH);
request.AddParameter("apikey", API_KEY);
request.AddFile("Filedata", file, "test.jpg","image/jpeg");
uplClient.ExecuteAsync(request, (response) =>
{
callback(response.Content, null);
if (response.StatusCode == HttpStatusCode.OK)
{
MessageBox.Show("Upload completed succesfully...\n" + response.Content);
}
else
{
MessageBox.Show(response.StatusCode + "\n" + response.StatusDescription);
}
});
Fiddler を介して応答を確認する場合、生データは次のとおりです。
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Wed, 05 Dec 2012 11:35:57 GMT
Content-Type: text/javascript;charset=utf-8
Connection: keep-alive
Location: file:///Applications/Install/8014A556-A76A-4294-B375-6E3668177CCA/Install/?errorNr=0&picUploadId=1007501
Content-Length: 423
{"ok":true,"error":false,"imageIcon":0,"uid":1287837,"tmpId":1007501,"url":"http:\/\/i1.ifrype.com\/tmp\/10\/1007501.jpg","urlIcon":"http:\/\/i1.ifrype.com\/tmp\/10\/i_1007501.jpg","urlSmall":"http:\/\/i1.ifrype.com\/tmp\/10\/sm_1007501.jpg","urlMiddle":"http:\/\/i1.ifrype.com\/tmp\/10\/nm_1007501.jpg","urlLarge":"http:\/\/i1.ifrype.com\/tmp\/10\/l_1007501.jpg","urlGM":"http:\/\/i1.ifrype.com\/tmp\/10\/ngm_1007501.jpg"}
ただし、RestSharp はすべてのレスポーズ値を null として表示します。これは、一部のデータを解析できないデフォルトの JSonDeserializer と関係があると思います。以下は、正常に解析された応答を含む生データです。
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 05 Dec 2012 11:28:13 GMT
Content-Type: text/javascript;charset=utf-8
Connection: keep-alive
Content-Length: 1015
{"users_login":{"login":{"apikey":"9073902hjkwehfweiufy34","img":"http:\/\/i7.ifrype.com\/profile\/287\/837\/v1341214689\/sm_12858487837.jpg"}}}
これは、http ステータスまたは場所の値、またはその他の原因である可能性がありますか? 私はこれについて本当にイライラしています。成功せずに一日中過ごしています:(