开发者

File Upload using Chatter REST API

开发者 https://www.devze.com 2023-04-02 04:42 出处:网络
I read documentation of Salesforce Chatter REST API and started to implement code in c#. See following code:

I read documentation of Salesforce Chatter REST API and started to implement code in c#. See following code:

System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
        req.Method = "POST";
        req.Headers.Add("Authorization: OAuth " + accessToken);
        req.ContentType = "application/x-www-form-urlencoded";
        string par = 
               "fileName=" + fileName +
            "&feedItemFileUpload="                
           + @"D:\\MyFiles\\NewTextDocument.txt" +                  
                     "&desc=" + desc+
                     "&text=" + text;

        byte[] byteArray = Encoding.UTF8.GetBytes(par);
        req.ContentLength = byteArray.Length;
        Stream dataStream = req.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

        System.Net.WebResponse resp = req.GetResponse();

I am gettig error on response Th开发者_运维技巧e remote server returned an error: (400) Bad Request.

If i see response of error, i got following message:

Please specify a file to upload. Type in the path to the file, or use the \"Browse\" button to locate it in your local filesystem.

I have already defined the file path and name. I tried with and without @ sign before path string but getting same error. Let me know if anything is missing.


You can easily use Fiddler to see what's going on.

You are posting a simple form where fileName and feedItemFileUpload are just like desc and text, in other words, plain simple text!

What you need to do is send the file as a stream.

I can see that you're using Hanselman's code, but that's only for text parameters

for more information on using it for files, see this answer

Upload files with HTTPWebrequest (multipart/form-data)

0

精彩评论

暂无评论...
验证码 换一张
取 消