C# 无法使用c将文件上载到salesforce#
我正在使用salesforce v49.0。我编写了将文件(txt文件)从我的目录上传到salesforce的代码。 我已在salesforce帐户中创建了一个文件夹。 尝试上载时收到错误的请求。 请帮助找到解决方案或建议其他上传文件的方法 我的代码C# 无法使用c将文件上载到salesforce#,c#,salesforce,httprequest,salesforce-lightning,C#,Salesforce,Httprequest,Salesforce Lightning,我正在使用salesforce v49.0。我编写了将文件(txt文件)从我的目录上传到salesforce的代码。 我已在salesforce帐户中创建了一个文件夹。 尝试上载时收到错误的请求。 请帮助找到解决方案或建议其他上传文件的方法 我的代码 string oauthToken = (string)loginResponse["access_token"]; string serviceUrl = (string)loginRespon
string oauthToken = (string)loginResponse["access_token"];
string serviceUrl = (string)loginResponse["instance_url"];
var doc = new sfdcDocument();
doc.Name = "DocumentbyDuke";
doc.FolderId = "05He0000RE00CcKDERTD";
doc.Type = "txt";
doc.Keywords = "123";
doc.Description = "123";
string boundary = "----" + DateTime.Now.Ticks.ToString("x");
var uri = serviceUrl + "/services/data/v49.0/sobjects/Document/";
var req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
req.Headers.Add("Authorization: OAuth " + oauthToken);
req.ContentType = "multipart/form-data; boundary=" + boundary;
req.Method = "POST";
var os = req.GetRequestStream();
// Add header for JSON part
string body = "";
body += "\r\n--" + boundary + "\r\n"; ;
body += "Content-Disposition: form-data; name='entity_document'\r\n";
body += "Content-Type: application/json\r\n\r\n";
// Add document object data in JSON
body += JsonConvert.SerializeObject(doc);
// Add header for binary part
body += "\r\n--" + boundary + "\r\n"; ;
body += "Content-Disposition: form-data; name='Body'; filename='1.txt'\r\n";
body += "Content-Type: binary/octet-stream\r\n\r\n";
// Add header data to request
byte[] data = System.Text.Encoding.ASCII.GetBytes(body);
os.Write(data, 0, data.Length);
// Add file to reqeust
FileStream fileStream = new FileStream(@"C:\Users\AprilFile.txt", FileMode.Open, FileAccess.ReadWrite);
byte[] buffer = new byte[4096];
int bytesRead = 0;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
{
os.Write(buffer, 0, bytesRead);
}
fileStream.Close();
// Add trailer
byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
os.Write(trailer, 0, trailer.Length);
os.Close();
// Do the post and get the response.
WebResponse resp;
try
{
resp = req.GetResponse();
}
catch (WebException ex)
{
resp = ex.Response;
}
//if (resp == null) return null;
var sr = new System.IO.StreamReader(resp.GetResponseStream());
08H
,如您的评论所示,它不是任何类型文件夹的关键前缀。它似乎属于一个不知名的sObject,名为
05H
对应于ContentDistributionView
,这也是不正确的
虽然可能还有其他问题,但您肯定需要找到正确的文件夹id来存储此文档。我运行了代码并从中捕获了响应。它显示87[{“消息”:“文件夹ID:类型不正确的ID值:*08He0000000sqweER”,“错误代码”:“字段完整性\异常”,“字段”:[“文件夹ID”]}]0