Форум сайта python.su
0
Всем привет, нужно загрузить изображения на сервер, бьюсь какую уже неделю на этой задаче. Проблема в том, что изображения грузятся не полностью остаются либо зеленые либо коричневые либо черные полосы, причем остается всегда по-разному, бывает вообще страница вылетает
def fbuffer(file, chunk_size=10000): while True: chunk = file.read(chunk_size) if not chunk: break yield chunk form = cgi.FieldStorage(encoding='cp1251') file_item = form['files'] if file_item.filename: f = open(album_path + '/' + file_item.filename, 'wb') for chunk in fbuffer(file_item.file): f.write(chunk) f.close()
<form action="/cgi-bin/admin.py" method="POST" enctype="multipart/form-data"> <input name="files" type="file"/> </form>
C:\python33\python.exe -m http.server --cgi 8000
Отредактировано adinvadim (Май 13, 2014 21:24:43)
Прикреплённый файлы:
pinup-hi-res-hd-wallpaper15.jpg (23,3 KБ)
Офлайн
49
Предположу, что нужно читать не файл, а поток.
https://docs.python.org/3.3/library/io.html
Пример реализации:
https://github.com/GoodCloud/django-ajax-uploader/blob/master/ajaxuploader/backends/local.py
С чем связан выбор cgi, когда кругом полно готовых фреймворков?
Отредактировано Alen (Май 15, 2014 19:22:47)
Офлайн