问题描述
我在这里要做的是将转换后的 pdf 到 base64 发送到一个端点,其中这是端点
HTTP-HEADERS:
api-key: your-key
Content-Type: application/json
Request Body JSON
{
"file":
{
"mime": "application/pdf","data": "base64-data="
}
}
public async Task UploadFile()
{
FileData fileData = await CrossFilePicker.Current.PickFile();
if (fileData == null)
return; //user canceled selecting image
string fileName = fileData.FileName;
string contents = Encoding.UTF8.GetString(fileData.DataArray);
var stream = fileData.GetStream();
var bytes = new byte[stream.Length];
await stream.ReadAsync(bytes,(int)stream.Length);
string base64 = Convert.ToBase64String(bytes);
File ru = new File();
ru.mime = "application/pdf";
ru.data = "base64-data="+base64;
string url = "ENDPOINT URL";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders
.Accept
.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
string jsonData = JsonConvert.SerializeObject(ru);
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post,url);
requestMessage.Content = new StringContent(jsonData,Encoding.UTF8,"application/json");
requestMessage.Headers.Add("api-key","API KEY HERE");
requestMessage.Headers.Add("Accept-Encoding","gzip");
HttpResponseMessage response = await client.SendAsync(requestMessage);
string result = await response.Content.ReadAsstringAsync();
if(result!= null)
{
resultLabel = result;
}
现在它给了我错误
{"Message":"HTTP 406 不可接受。您的请求出错。请检查您的负载,然后重试,","Result":406}
解决方法
按照@Jason 在评论部分的建议,我解决了我的问题
https://learning.postman.com/docs/sending-requests/generate-code-snippets/
希望这能解决和我有同样问题的人。