我一直在尝试通过TDownloadURL类创建(TFileStream) PDF,但我真的有麻烦从URL获取文件/流,特别是如果URL是HTTPS。
我不确定我是否清楚,但我将发布一个片段,以便它可能有助于理解:
implementation
var pdfStreamed: TDownloadUrl;
var fileStream : TFileStream;
procedure generateStream;
begin
pdfStreamed:= TDownLoadURL.Create(nil);
with pdfStreamed do
begin
URL := 'https://farm9.staticflickr.com/8327/8106108098_08e298f0d9_b.jpg'; //stream;
FileName := 'D:';
ExecuteTarget(nil);
// Execute;
end;
end;
URL属性在HTTP和HTTPS中都存在!但它给了我一个错误:异常类异常提示"下载URL: https://farm9.staticflickr.com/8327/8106108098_08e298f0d9_b.jpg错误"。
可以指出我做错了什么吗?我为此搜索了很多,但找不到任何工作和简单!
非常感谢!
TDownloadURL
只是微软URLDownloadToFile()
函数的一个薄包装,它支持HTTPS。
TDownloadURL
没有告诉您URLDownloadToFile()
失败的原因。但是,我可以看到您将FileName
属性设置为一个文件夹路径,但是您需要将其设置为要创建的用于保存下载数据的目标文件的完整路径和文件名。
FileName := 'D:';
:
FileName := 'D:8106108098_08e298f0d9_b.jpg';
使用Remy对更改文件名的回答来指定正确的保存位置,但要进行修复,请将ExecuteTarget行更改为类似
的内容 ExecuteTarget(Self);
我刚刚尝试了你的代码与这两个变化,它成功地下载了图像。本质上,组件需要一个句柄来引用,如from Here