Найти - Пользователи
Полная версия: как сохранить файл на диске на сервере?
Начало » Django » как сохранить файл на диске на сервере?
1
frizz
Подскажите - как закачать файл на сервер?
на html форме пишу:

<form action="/blog/izz/" method="post"  enctype="multipart/form-data" style="width: 777px" input type="submit"   >
<p style="width: 762px; height: 159px"><input id="File1" type="file" name="avatarfile" /></p>
<input type="submit" value="send" alt="send" name="send" style="width: 90px" title="send">
</form>
в viev.py незнаю что писать. понимаю, что нужно как то перехватывать post и сохранять данные на диск. но не могу реализовать.
я облазил уже все интернеты, прошел сто дорог, но не ничего толкового не нашел.
если не трудно - напишите пожалуйста код.
if request.method == 'POST':   
первая попытка:
file = request.FILES['avatarfile']
avatar1=Avatar(
user=request.user,
avatarfile=file)
avatar1.save()

вторая попытка:
fd = open('%s/%s' % (MEDIA_ROOT, 'trust.jpg'), 'wb')
fd.write(request.FILES['avatarfile'])
fd.close()
второй вариант создает файл “trust.jpg”. но он пустой (0 кб).
sv0
Попробуйте здесь посмотреть/почитать:
http://docs.djangoproject.com/en/dev/topics/http/file-uploads/

html-форма какая-то странная. django.forms попробуйте:
http://docs.djangoproject.com/en/dev/topics/forms/
frizz
с этим разобрался:

  file = request.FILES['avatarfile']
#filename = file['filename']

fd = open('%s/%s' % (MEDIA_ROOT,request.FILES['filename']), 'wb')
fd.write(file.read())
fd.close()
теперь осталось получить имя файла. filename = file не работает.
frizz
sv0
Попробуйте здесь посмотреть/почитать:
это я читал.
sv0
html-форма какая-то странная. django.forms попробуйте:
мне по проще нужно было, вот я и сделал.
frizz
получить имя файла :

filename = request.FILES.name
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB