Tôi đã cố gắng tạo (TFileStream) một tệp PDF thông qua lớp TDownloadURL, nhưng tôi thực sự gặp khó khăn trong việc lấy tệp/luồng từ URL, đặc biệt nếu URL là HTTPS.TDownloadURL không thể tải xuống từ HTTPS
Tôi không chắc chắn nếu tôi là rõ ràng, nhưng tôi sẽ đăng một đoạn mã để nó có thể giúp hiểu biết:
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;
Thuộc tính URL tồn tại ở cả HTTP như trong HTTPS! Nhưng nó ném cho tôi một lỗi: Loại ngoại lệ Ngoại lệ với thông báo 'Lỗi tải xuống URL: https://farm9.staticflickr.com/8327/8106108098_08e298f0d9_b.jpg'.
Có thể cho biết tôi đang làm gì sai? Tôi đã tìm kiếm rất nhiều cho điều này, nhưng không thể tìm thấy bất cứ điều gì mà làm việc và đơn giản!
Cảm ơn rất nhiều!
Hey @Remy cảm ơn câu trả lời nhưng tôi đã thử giải pháp này và nó không hoạt động! Nó tiếp tục hiển thị "Lỗi tải xuống URL". Tôi hiểu nó chỉ là một wrapper, nhưng có thể Deplhi ảnh hưởng đến cuộc gọi này theo cách Nó sẽ ném cho tôi một lỗi? : \ Nhân tiện, nếu tôi thay thế HTTPS bằng HTTP thì nó hoạt động! Nhưng tôi thực sự cần HTTPS = \ –
Thông báo lỗi mà bạn đang thấy có nghĩa là 'URLDownloadToFile()' không thành công, không phải 'TDownloadURL'. Nó chỉ là một cuộc gọi hàm API bình thường đơn giản. Nếu bạn muốn tìm hiểu tại sao 'URLDownloadToFile()' không thành công, bạn cần gọi nó trực tiếp để bạn có quyền truy cập vào mã lỗi kết quả của nó, mà 'TDownloadURL' không cho phép truy cập. –