html - 实现浏览器的 'Download to Computer'功能

标签 html objective-c macos download

我正在尝试使用 NSURLConnection 在给定链接下载 mp3 文件。但是,我经常遇到超时错误。在浏览器中输入链接会显示默认播放器,但音乐文件也不会加载:

Downloading mp3's is not illegal in all countries

但是,如果我创建以下简单的 HTML 文件:

<html>
    <body>
        <a href="link_to_the_mp3" target="_blank">Download</a>
    </body>
</html>

然后将文件加载到 Safari 中,右键单击下载链接,然后选择下载到计算机(或任何英文名称),Safari 会下载该文件.

关于如何在我自己的应用程序中实现此功能有什么想法吗?


我尝试使用

NSData *data = [NSData dataWithContentsOfURL:url];

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *r, NSData *data, NSError *e) { /.../ }];`

没有成功。

最佳答案

看起来您正在尝试使用“NSURLConnection”用大锤打苍蝇。

尝试做一些更高级别的事情,例如

NSData * mp3data = [[NSData alloc] initWithContentsOfURL:options:error: ];

(这里的额外好处是,您可以通过传递到方法中的“error:”参数获取有用的错误。

关于html - 实现浏览器的 'Download to Computer'功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13777843/

相关文章:

html - 将元素重叠在其他元素上

html - 为什么 CSS 中的 "cursor:pointer"效果不起作用

ios - 触摸某些元素时 UIScrollView 不滚动

iPhone + OSX 面向同一项目

python - Gevent 处于不受支持或无效的轮子中

macos - 自动化 Git 和 SSH 工作流程

html - 自动加载甚至没有链接的 css 文件

html - 如何删除 <div> 标签上方的空间?

ios - 不同国家的联系地址格式

ios - 添加 UIGestureRecognizer 以从左向右滑动我的 View