2014-01-20 3 views
3

Можно ли загрузить и загрузить файл в функции JavaScript без серверного сервера? Мне нужно экспортировать и импортировать XML, созданный с помощью функции JavaScript. Я бы хотел создать кнопку «Сохранить xml», чтобы сохранить файл, но я не знаю, возможно ли это. С другой стороны, я хочу загрузить XML-файл непосредственно на JavaScript. Если это невозможно, я буду использовать серверный сервер, как прокси.Jquery/Загрузка и загрузка Javascript без бэкенда

+0

Где вы хотите сохранить этот файл? Если на сервере вам нужно будет написать код на стороне сервера. –

+0

К клиенту, от браузера к клиентскому компьютеру, как обычная загрузка файла (сохранить файл как ...) или загрузить – Tobia

+0

Является ли XML тем, что пользователь создал или отредактировал на веб-странице с помощью JavaScript, а затем вы хотите, чтобы они скачать их созданный файл? (так что все клиентские) Или это готовый XML-файл, который вы просто хотите загрузить? Если это последний, то XML нужно будет сидеть на том же сервере, что и ваша веб-страница. – seanholden

ответ

1

Я думаю, вы можете посмотреть в к файлу API HTML5. Основываясь на том, что вы сказали, все файлы никогда не должны покидать домен браузера или webapp. Я считаю, что это может привести к некоторым проблемам, которые пользователь будет вынужден использовать в одном браузере для доступа к файлам. Также стандарты HTML5 до сих пор не полностью реализованы всеми основными браузерами, что было бы еще одним риском. Однако, если вы хотите спуститься по этому маршруту, я предоставил некоторые ресурсы, которые могут вам помочь. Я бы рекомендовал размещать файлы, а не мой проект. Я не знаю ваших случаев использования.

http://www.html5rocks.com/en/tutorials/file/dndfiles/

http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side

http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

http://eligrey.com/demos/FileSaver.js/

+0

http://eligrey.com/demos/FileSaver.js/ похоже, что мне нужно – Tobia

0

Я не уверен Если я это хорошо понимаю, но кажется, что вы хотите отправить данные удаленному клиенту, а также получить данные.

Получение и сохранение XML С его XML вы можете использовать ajax post/get * и проанализировать свои XML-данные с принимающей стороны, и вам захочется иметь объект, который хранит ваши XML-данные в случае, если вы хотите сохранить.

var myXMLContainer = ""; 
$.ajax({ 
    type: "Get", 
    datatype: "xml", 
    url: "your url sending xml data", 
    data: xmlData, 
    success: function (result) { 
     myXMLContainer = $.parseXML(result); 
     $("#myHiddenDiv").text(myXMLContainer); 
    } 
}); 

Сохранение данных. Поскольку JavaScript не имеет доступа к написанию файлов, так как это, по крайней мере, представляет собой огромный риск для безопасности. Вы должны установить свои данные в скрытый div и установить его в btoa для сохранения ваших данных.

function saveData(){ 
    btoa($("#myHiddenDiv").text()); 
} 

Я надеюсь, что это достаточно ясно, чтобы получить от ....

+0

Нет, извините. Это необходимо для отправки или получения с серверного сервера. Я хочу запустить «save file» из javascript comand. – Tobia

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