2014-01-18 4 views
0

У меня есть веб-приложение для Android.Загрузить файл на Android из ashx call

На этой странице aspx есть кнопка.

Он вызывает вызов JQuery ajax для моего кода за веб-методом.

Этот метод находит местоположение видеофайла.

Это расположение файла затем возвращается как часть URL-адреса для вызова ashx.

Так, например, веб-метод находит видеофайл и возвращает строку в Ajax вызова в этом формате:

www.myserver.com?GetThisFile=MyLocationOfNewlyCreatedVideoFile.ashx. 

Тогда в случае успеха Аякса позвонить мне это сделать:

event.preventDefault(); 
window.location = 'http://www.myserver.com?GetThisFile=Mylocationof newlycreatedvideofile.ashx'; 

Если я вызываю это через браузер на рабочем столе, он работает. Если я это сделаю с помощью веб-браузера в Android, это не сработает.

В устройстве Android есть SD-карта.

Можно ли загрузить файл на Android с помощью этого метода?

Если нет, то можно загрузить файл с помощью кнопки? Например, у меня есть кнопка, которая указывает на следующее:

jQuery(function ($) { 
     $("#btnDownloadReady").click(function() { 
      event.preventDefault(); 
      window.location = 'http://MyUrl/File.mp4'; 
     }); 
    }); 

Но он пытается воспроизвести файл. Я просто хочу, чтобы он был сохранен на SD-карте. (Я знаю, что mp4 не будет воспроизводиться на Android).

ответ

1

Это может быть невозможно без сценариев на стороне сервера (Java), поскольку в соответствии с последовательностью команд, отображаемых в jQuery, похоже, что вы хотите открыть файл в своем приложении для Android. Настольные браузеры автоматически знают, где сохранить файл, потому что браузеры настроены для этого. Однако с Android, поскольку у вас есть собственный веб-просмотр, вам нужно будет создать программу java для сохранения полного файла для сохранения в каталоге или музыкальном каталоге, используя Download Manager for Android.

+0

Привет, это меня очень много и очень полезно. Но доступен ли менеджер загрузок через jquery/web-приложение? Если нет, то можно сохранить изображение в виде потока байтов и использовать jquery для сохранения в виде файла на SD? –

+0

API-интерфейсы Android, такие как менеджер загрузки, могут быть реализованы только с использованием Java. Возможно, вам понадобится написать код JavaScript для взаимодействия с Android через Activity Intents, в котором Android Download Manager API может поймать его из намерения. http://stackoverflow.com/questions/11287820/passing-a-javascript-variable-to-android-activity –

+0

спасибо за все ваше время :) –

Смежные вопросы