首页 > 解决方案 > 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 遵循重定向?

标签: c#.netrestconvertapi

解决方案


转换远程文件的正确用法如下。您应该使用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));

推荐阅读