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 - 如何获得覆盖Flash视频的元素(尝试wmode = transparent)?

ajax - HTML5 历史 API : go back and don't allow going forward (popState? )

ios - 在 iOS 设备之间传递对象/NSData

ios - 如何实现 CMStepCounter CoreMotion - M7 芯片

javascript - 几种基础展示模态需要不同的背景

ios - XML 到 Xcode 解析

ios - Xcode 9 在每周限制之前停止签名方式

objective-c - 更好的 PMTabBarControl/Cocoa 选项卡

c# - Xamarin Studio/VS for Mac Storyboard未打开

javascript - 防止使用turbolinks和highcharts执行之前的JavaScript//LazyHighCharts