2015-06-29 2 views
0

Я искал по всему Интернету в течение последних нескольких дней и не нашел подходящего решения.Ajax файл скачать и хранить

Я пытаюсь запросить файл через AJAX и сохранить его на сервере для последующего использования.

Вот мой Ajax вызов:

$.ajax ({ 
    type: "GET", 
    url: webApiUrl+"file/"+fileId+"?account="+account, 
    dataType: 'arraybuffer', 
    async: false, 
    headers: { 
     "Authorization": "Basic " + authenticationToken 
    }, 
    complete: function (data1){ 

    } 

}); 

Я довольно новыми для AJAX звонки, поэтому вопрос, как хранить этот файл, он может быть изображение или звуковой файл. Если я понял до сих пор, я думаю, я получаю двоичные данные этого файла и должен только хранить файл.

Вот один заголовок получен ответ:

Access-Control-Allow-Origin:* 
Cache-Control:no-cache 
Content-Disposition:attachment;filename=download(2)_digimarc_S5.jpg 
Content-Length:34508 
Content-MD5:NPZuT9bGSLIfqk9TThIFJA== 
Content-Type:image/jpeg 
Date:Mon, 29 Jun 2015 10:04:20 GMT 
Expires:-1 
Last-Modified:Mon, 29 Jun 2015 00:40:23 GMT 
Pragma:no-cache 
Server:Microsoft-IIS/8.5 
X-AspNet-Version:4.0.30319 
X-Powered-By:ASP.NET 
X-RateLimit-Long:Limit=2500; Remain=2497; Expires=3599 
X-RateLimit-Short:Limit=250; Remain=247; Expires=59 

Любая помощь будет оценена.

ответ

0

Проблема здесь в том, что Jquery еще не поддерживает HTML5

Для этого использования Ajax Transport плагин

Ajax транспорт создает новый XMLHttpRequest и передает все полученные данные обратно в JQuery.

См: Ajax Transport Example

+0

Спасибо за ответ Виджай, но что после этого? Как сохранить его как файл на сервере для последующего использования? Я вижу, что я могу получить всю необходимую информацию из вызова AJAX, двоичных данных, типа содержимого, имени файла ... но проблема, с которой я столкнулась, - это сохранение этих данных в файл. Напр. например, я хотел бы сохранить изображение как загрузить (2) _digimarc_S5.jpg на сервере. Я видел много примеров предоставления ссылки на пользователя и все такое, но я не хочу этого делать, я просто хочу сохранить файл на сервере. –

+0

OK borce, по какой причине вы даете async: false –

+0

только потому, что я не могу и не имею времени для решения прямо сейчас с асинхронными вызовами, я знаю, что это побеждает цель аякс-звонков, но на данный момент мне нужно обернуть этот проект, и двигаться дальше. Я планирую, чтобы все вызовы синхронизировались в более поздние моменты, но сейчас у нас есть много других вещей, поэтому проще всего синхронизировать звонки. А также я не знаю, правильно ли DataType. –

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