Я искал по всему Интернету в течение последних нескольких дней и не нашел подходящего решения.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
Любая помощь будет оценена.
Спасибо за ответ Виджай, но что после этого? Как сохранить его как файл на сервере для последующего использования? Я вижу, что я могу получить всю необходимую информацию из вызова AJAX, двоичных данных, типа содержимого, имени файла ... но проблема, с которой я столкнулась, - это сохранение этих данных в файл. Напр. например, я хотел бы сохранить изображение как загрузить (2) _digimarc_S5.jpg на сервере. Я видел много примеров предоставления ссылки на пользователя и все такое, но я не хочу этого делать, я просто хочу сохранить файл на сервере. –
OK borce, по какой причине вы даете async: false –
только потому, что я не могу и не имею времени для решения прямо сейчас с асинхронными вызовами, я знаю, что это побеждает цель аякс-звонков, но на данный момент мне нужно обернуть этот проект, и двигаться дальше. Я планирую, чтобы все вызовы синхронизировались в более поздние моменты, но сейчас у нас есть много других вещей, поэтому проще всего синхронизировать звонки. А также я не знаю, правильно ли DataType. –