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

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

注意事项:

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

有帮助吗?

解决方案 2

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

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

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

抱歉冗长的解释,但这是一个奇怪的问题。

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top