如何从 URL 下载文件(iOS/Cocoa SDK),其中文件名不是 URL 的一部分

发布于 2024-10-26 20:29:40 字数 405 浏览 0 评论 0原文

我想知道如何使用 NSUrl 下载文件,其中文件名不可用或不是请求 URL 的一部分。我一直在查看 ASIHTTPRequest (http://allseeing-i.com/ASIHTTPRequest/) 库。 但重点

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"];

是你需要知道这里的文件名。例如,如果您输入 URL(不是真实的 URL)http://some-website/foo.pdf

它会下载文件 foo.pdf,我想像这样保存它。任何想法谢谢。

I was wondering on how to download a file using NSUrl where the filename is not available or is not part of the request URL. I have been looking at ASIHTTPRequest (http://allseeing-i.com/ASIHTTPRequest/) library. It has

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"];

But the point is you need to know the file name here. For example if you put the URL (not real URL) http://some-website/foo.pdf

It downloads a file foo.pdf and I want to save it like that. Any ideas thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋风の叶未落 2024-11-02 20:29:40

在 NSURLConnection 委托回调 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 中,您可以从 NSURLResponse。如果您不知道某个名称,那么您需要为您的文件想出另一个名称。此时,您可以在开始保存数据之前指定下载路径。

建议的文件名

返回建议的
响应数据的文件名。

  • (NSString *)建议的文件名

返回值

建议的文件名
响应数据。

讨论

该方法尝试创建
使用以下内容的文件名,在
订单:

  1. 使用内容指定的文件名
    处置标头。

  2. 最后一条路径
    URL 的组成部分。

  3. 主持人
    网址。

如果 URL 的主机不能是
转换为有效的文件名,
使用文件名“未知”。

在大多数情况下,此方法会附加
正确的文件扩展名基于
MIME 类型。这个方法总会
返回有效的文件名,无论
是否保存资源
到磁盘。

可用性

适用于 iOS 2.0 和
之后。在 NSURLResponse.h 中声明

In the NSURLConnection delegate callback - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response you can retrieve the suggestedFileName from the NSURLResponse. If you get unknown for a name then you need to come up with another name for your file. At this point you can specify your download path before you start saving data.

suggestedFilename

Returns a suggested
filename for the response data.

  • (NSString *)suggestedFilename

Return Value

A suggested filename for the
response data.

Discussion

The method tries to create
a filename using the following, in
order:

  1. A filename specified using the content
    disposition header.

  2. The last path
    component of the URL.

  3. The host of the
    URL.

If the host of URL can't be
converted to a valid filename, the
filename “unknown” is used.

In most cases, this method appends the
proper file extension based on the
MIME type. This method will always
return a valid filename regardless of
whether or not the resource is saved
to disk.

Availability

Available in iOS 2.0 and
later. Declared In NSURLResponse.h

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文