当前位置: 代码迷 >> Windows Mobile >> 应用RestSharp post
  详细解决方案

应用RestSharp post

热度:1318   发布时间:2013-02-26 00:00:00.0
使用RestSharp post
我想使用restsharp库提供的类来post一个txt文件到skydrive,可是不知道restsharp怎么用。。网上的示例又看得不是很明白,试了一天了纠结了一天了,希望哪位大侠能指点一二。。。微软官方给的用REST put和post到skydrive的说明:
PUT https://apis.live.net/v5.0/me/skydrive/files/HelloWorld.txt?access_token=ACCESS_TOKEN

Hello, World!

POST https://apis.live.net/v5.0/me/skydrive/files?access_token=ACCESS_TOKEN

Content-Type: multipart/form-data; boundary=A300x

--A300x
Content-Disposition: form-data; name="file"; filename="HelloWorld.txt"
Content-Type: application/octet-stream

Hello, World!
--A300x--

我写的代码是这样的:
//test1
            string str = string.Format("https://apis.live.net/v5.0/me/skydrive/files/test.txt?access_token={0}", client.Session.AccessToken);
            RestRequest request = new RestRequest(str, Method.PUT);
            //request.AddBody("ok");//添加这行代码后运行会提示bad request

            //test2
            //string str = string.Format("https://apis.live.net/v5.0/me/skydrive/files?access_token={0}", client.Session.AccessToken);
            //RestRequest request = new RestRequest(str, Method.POST);
            //request.AddParameter("Content-Type", "multipart/form-data;boundary=A300x");//从这开始就不知道怎么写了,试着添加其他参数都不行。。


            RestClient restClient = new RestClient();
            //.........


------解决方案--------------------------------------------------------
不知道怎么能帮到你

post的话要把
Content-Type: multipart/form-data; boundary=A300x

--A300x
Content-Disposition: form-data; name="file"; filename="HelloWorld.txt"
Content-Type: application/octet-stream

通过header传过去
------解决方案--------------------------------------------------------
写的问题不大,哟奥加 http header的,你加的/request.AddParameter("Content-Type", "multipart/form-data;boundary=A300x");没问题,一般还要处理文件长度,建议看下RFC文档。
------解决方案--------------------------------------------------------
引用:
我想使用restsharp库提供的类来post一个txt文件到skydrive,可是不知道restsharp怎么用。。网上的示例又看得不是很明白,试了一天了纠结了一天了,希望哪位大侠能指点一二。。。微软官方给的用REST put和post到skydrive的说明:C# code?1234567891011121314PUT https://apis.live.net/v5……


楼主解决了吗? 其实content_type不用我们自己添加的,如果是文件的话,它会自动添加的
  相关解决方案