Direct File Download VS Чтение файла обратно в качестве скачивания

StackOverflow https://stackoverflow.com/questions/2285664

Вопрос

Есть ли какая -то разница между созданием прямой ссылки на файл на сервере и выполнением чего -то вроде чтения файла из местоположения и настройкой заголовка типа контента, а затем отступает данные.

Мне любопытно, потому что у меня есть веб -сервер, который я использую для загрузки приложений на BlackBerry, если я создаю файл и имею прямую ссылку на этот файл, он работает, но если я передам его обратно, используя веб -страницу, она не Работа. Телефон получает файл, но он не работает.

Что следует отметить:

  • URL -адреса одинаковы в обоих случаях, т.е.http://somesite.com/download/file.jad)
  • В браузере, использующем скрипач, загрузки/заголовок точно такие же байт для байта

Так почему же телефон предпочитает файл, который на самом деле является прямой ссылкой против той, которая является контроллером, передающим данные обратно при передаче данных, а URL -адрес идентичен?

Это было полезно?

Решение 2

Я обнаружил решение этой проблемы, хотя я все еще не уверен, что это вызывает. Я доставлял ссылку на телефон через шлюз SMS/электронной почты. Когда телефон получает SMS, и я выбираю ссылку для загрузки, который он спрашивает, хочу ли я получить JAD, я нажимаю да, и он появляется и выпадает. Я размещаю ту же ссылку на другую страницу, что и ссылка HTML, и отправил SMS, указывающие на эту страницу. Веб -сайт бросает ошибку ... поэтому я скопировал и вставил ссылку в браузер телефонов, и страница отображается просто отлично, я нажимаю ссылку на загрузку JAD на странице, и теперь JAD работает нормально.

Поэтому я думаю, что две вещи либо есть какой -то механизм безопасности, который предотвращает прямые ссылки в SMS (но это сработало для других файлов), либо то, как телефон получает URL -адрес отличается.

Я провел несколько тестов и заметил что -то еще, на странице, которая принимает значение идентификатора (http://site.com/download/145) где 145 является идентификатором для файла, если вы переходите к этой ссылке в телефонном браузере, он работает нормально, и вы загружаете файл. Если вы отправляете его в SMS, ошибки сервера, говоря, что идентификатор, как ожидается, будет поплавком, и он получил строку. Так почему же, когда телефон ссылается непосредственно из SMS, параметры URL -адреса являются строками, но при использовании в браузере на самом деле проанализируется как поплавок?

Извините за длинное объяснение, но это странная проблема.

Другие советы

Файл .jad - это только первая часть загрузки - есть также файлы .cod, связанные с ним (ссылка на JAD). Убедились ли вы, что ваш метод «потоковой передачи» отправляет обратно файл COD правильно и с правильными типами MIME?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top