字符串到字节数组到POST请求的文件



我正在从SharePoint检索一个PDF文件,该文件以文本形式(非纯文本,编码(提供。我想把它变成一个实际的PDF文件,然后通过POST请求上传到另一个URL。

var client2 = new RestClient("https://preactdk.redacted.com/sites/mysite/_api/web/GetFileByServerRelativeUrl('/sites/mysite/Shared%20Documents/testfolder/test.pdf')/$value");
client2.Timeout = -1;
var request2 = new RestRequest(Method.GET);
request2.AddHeader("Authorization", $"Bearer {tokenData.access_token}");
request2.AddHeader("Accept", "application/json;odata=verbose");
IRestResponse response2 = client2.Execute(request2);

string content = response2.Content;
byte[] bytes = Encoding.ASCII.GetBytes(content);
var myfile = System.IO.File.WriteAllBytes("test.pdf", bytes);


var clientUpload = new RestClient("https://mysite.azurewebsites.net/api/Upload");
RestRequest requestUpload = new RestRequest(Method.POST);
//requestUpload.AddHeader("Content-Type", "multipart/form-data");
requestUpload.AddFile("File", bytes, "test.pdf");
var responseUpload = clientUpload.Post(requestUpload);

我曾尝试将它转换为字节数组,但没有成功。如何在内存流或文件流中创建PDF并将其传递给POST请求函数?此函数通过POST在其主体中获取一个pdf文件。

我需要的是使用

byte[] bytes = response2.RawBytes;

直接。它工作顺利,PDF显示正确。

最新更新