1

在服务器上创建指向文件的直接链接与执行诸如从某个位置读取文件并设置内容类型标头然后流回数据之类的操作之间有什么区别。

我很好奇,因为我有一个用于将应用程序下载到黑莓的网络服务器,如果我创建一个文件并有一个指向该文件的直接链接它可以工作,但是如果我使用网页将它流回它不会工作。手机得到文件,但它不起作用。

注意事项:

那么,当传输的数据和 url 相同时,为什么手机更喜欢一个实际上是直接链接的文件而不是一个控制器将数据流回的文件呢?

4

2 回答 2

0

.JAD 文件只是下载的第一部分 - 还有与之关联的 .COD 文件(在 JAD 中引用)。您是否确保您的“流式传输”方法正确发送回 COD 文件并使用正确的 MIME 类型?

于 2010-02-18T20:42:08.933 回答
0

我发现了解决这个问题的方法,但我仍然不确定是什么原因造成的。我一直在通过短信/电子邮件网关传递到手机的链接。当手机收到短信并且我选择下载链接时,它会询问我是否想要获取 jad,我点击是,它会显示并退出。我将完全相同的链接作为 html 链接放在另一个页面上,并发送了一条指向该页面的短信。该网站抛出一个错误...所以我将链接复制并粘贴到手机浏览器中,页面显示正常,我单击页面上的 jad 下载链接,现在 jad 工作正常。

所以我在想两件事,要么有某种安全机制阻止短信中的直接链接(但这对其他文件有效),要么手机获取 url 的方式不同。

我在接受 id 值 ( http://site.com/download/145 ) 的页面上进行了一些测试并注意到其他内容,其中 145 是文件的 id,如果您在手机浏览器中转到该链接,它工作正常,你下载文件。如果你用短信发送它,服务器会出错,说 id 应该是一个浮点数并且它收到了一个字符串。那么为什么当手机直接从短信链接时,url 参数是字符串,但在浏览器中使用时,实际上会被解析为浮点数?

对不起,冗长的解释,但这是一个奇怪的问题。

于 2010-02-18T21:43:40.380 回答