[英]Upload File and Convert to Base64 (406 Error Not Acceptable )
我在这里要做的是,我要将转换后的 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, 0, (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 Not Acceptable。您的请求出错。请检查您的有效负载,然后重试,","Result":406}
通过在评论部分遵循@Jason 的建议,我解决了我的问题
https://learning.postman.com/docs/sending-requests/generate-code-snippets/
希望这能解决和我有同样问题的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.