Загрузка файла jQuery в запрос django. ФАЙЛЫ, используя jQuery.get? - PullRequest
0 голосов
/ 27 сентября 2010

Мне нужно изменить приведенный ниже код, чтобы передать файл объекту django request.Files. В настоящее время я передаю местоположение файла в django и разрешаю ему открывать файл, к сожалению, из-за нового нелепого набора ограничений каменной сети, django больше не будет иметь доступа ни к чему вне своего сервера.

Параметры, которые я передаю, поступают из различных текстовых вводов html и выбора файла.

Я очень хочу измениться, но если нет другого пути?

<script type='text/javascript'>
$(document).ready(function() {

jQuery.get(importUrl,
{
    "file":fileInputData,"dir":dirInputData,
    "year":thisSurvey,"import":thisImport,
    "startDate":startDate,"endDate":endDate
},

function(data)
    {
    jQuery.jGrowl(data,{sticky:true,header:"Import Result"});
    }
);
});
</script>

1 Ответ

2 голосов
/ 27 сентября 2010

Вы не можете загружать файлы с помощью Ajax, для этого существуют сценарии, но они используют iframe для отправки данных (в нем происходит реальная отправка формы).См. Как я могу загружать файлы асинхронно?

Я действительно не знаю, что вы подразумеваете под "django больше не будет иметь доступа ни к чему, кроме своего сервера".Ограничение на загрузку файлов заключается в том, чтобы приложения не могли читать и записывать файлы на компьютеры клиентов.По сути, все загрузки должны происходить из реальной <input type="file" name="file">.Для доступа к данным загруженного файла в Django вы используете request.FILES['name_of_the_file_input'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...