c# - ConvertApi 不遵循 HTTP 302 重定向
问题描述
我正在尝试转换位于远程服务器上的文件。我将 ConvertApi 用于 .NET。
我的代码:
string url = "http://test.com/myfile";
var convertApi = new ConvertApi("secret");
var response = await convertApi.ConvertAsync("web", "pdf", new ConvertApiParam("url", url));
此代码失败(ConvertApi 返回 HTTP 500 内部服务器错误),因为远程服务器返回带有确切文件位置的 HTTP 302 重定向。但是由于某种原因,ConvertApi 不遵循此重定向。
HTTP 302 重定向是文件存储服务处理此类下载的一种非常常见的方式。
它是一个错误吗?我错过了什么吗?也许有一个特殊的设置迫使 ConvertApi 遵循重定向?
解决方案
转换远程文件的正确用法如下。您应该使用ConvertApiFileParam
类将文件作为包装到Uri
对象中的远程文件 url 传递。
var convertApi = new ConvertApi("secret");
var sourceFile = new Uri("https://github.com/Baltsoft/CDN/raw/master/cara/testfiles/presentation2.pptx");
var convertToPdf = convertApi.ConvertAsync("pptx", "pdf", new ConvertApiFileParam(sourceFile));
推荐阅读
- angular - $在Angular 7中是什么意思
- multithreading - OpenMP Fortran 做循环线程分配
- ios - 使用 Codable 或 ObjectMapper 映射通用 API 响应
- python - 如何在 30 分钟内停止 python 中的优化并检索当前解决方案
- matlab - 如何将点云投影到 2D 图像中(像 Matlab scatter3d 一样)?
- php - 如何使自动完成在所有页面上工作
- python - 列表索引未正确更新
- c# - Botframework V4:对话框
- r - 在 R Shiny 中根据名称索引值
- c# - 连接字符串 EF Code 第一个奇怪的行为