使用Chatter REST API上传文件上传
-
25-10-2019 - |
题
我阅读了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)不良请求。
如果我看到错误的响应,我会得到以下消息:
请指定要上传的文件。输入文件的路径,或使用“浏览”按钮将其定位在您的本地文件系统中。
我已经定义了文件路径和名称。我在路径字符串之前和没有 @符号的情况下尝试过,但是出现同样的错误。让我知道是否缺少任何东西。
解决方案
您可以轻松地使用提琴手查看发生了什么。
您正在发布一个简单的表格 fileName
和 feedItemFileUpload
就像 desc
和 text
, , 换句话说, 简单的简单文字!
您需要做的是将文件作为流发送。
我可以看到你正在使用 汉塞尔曼的 代码,但这仅适用于文本参数
有关将其用于文件的更多信息,请参阅此答案
不隶属于 StackOverflow