我阅读了Salesforce Chatter REST API的文档,并开始在C#中实现代码。请参阅以下代码:

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();

我是响应中的错误错误远程服务器返回错误:(400)不良请求。

如果我看到错误的响应,我会得到以下消息:

请指定要上传的文件。输入文件的路径,或使用“浏览”按钮将其定位在您的本地文件系统中。

我已经定义了文件路径和名称。我在路径字符串之前和没有 @符号的情况下尝试过,但是出现同样的错误。让我知道是否缺少任何东西。

有帮助吗?

解决方案

您可以轻松地使用提琴手查看发生了什么。

您正在发布一个简单的表格 fileNamefeedItemFileUpload 就像 desctext, , 换句话说, 简单的简单文字!

您需要做的是将文件作为流发送。

我可以看到你正在使用 汉塞尔曼的 代码,但这仅适用于文本参数

有关将其用于文件的更多信息,请参阅此答案

使用httpwebrequest上传文件(Multipart/form-data)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top