Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用c将文件上载到salesforce#_C#_Salesforce_Httprequest_Salesforce Lightning - Fatal编程技术网

C# 无法使用c将文件上载到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

我正在使用salesforce v49.0。我编写了将文件(txt文件)从我的目录上传到salesforce的代码。 我已在salesforce帐户中创建了一个文件夹。 尝试上载时收到错误的请求。 请帮助找到解决方案或建议其他上传文件的方法

我的代码

        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