niro
Окт. 10, 2006 18:02:53
В общем вот чтото вроде кода по заливке файла на сервер , все работает , вопрос в следующем , как ограничить размер передаваемого файла ?
string = cgi.FieldStorage()
def upload(upload_dir):
filedata = string.getvalue(“file”, “”)
assert filedata == string.value
fstrm = open(upload_dir+“/”+“file”, ‘wb’)
fstrm.write(filedata)
fstrm.close()
koder
Окт. 10, 2006 18:13:42
Я не совсем понял. А почему так не подходит?
if len(string.value) > MySettingsClass.max_file_len:
return_cgi_exception_или_что_там_нужно_делать
Я с cgi не работал так что может чего-то не догнал :)
slivlen
Окт. 10, 2006 19:34:18
Можно это сделать с помощью apache, используя дириктиву LimitRequestBody.
http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestbody
niro
Окт. 10, 2006 20:14:48
thanks :)
pythonwin
Окт. 11, 2006 12:16:13
niro, а JS что не сделаешь?
slivlen
Окт. 11, 2006 12:23:05
Ограничение с помощью js - это вещь чисто условная и пригодится только для удобства чтоб юзеру сразу сообщить что такой файл слишком большой, но его легко обойти. Без проверки на стороне сервера не обойтись.
pythonwin
Окт. 11, 2006 12:43:11
slivlen
Ограничение с помощью js - это вещь чисто условная и пригодится только для удобства чтоб юзеру сразу сообщить что такой файл слишком большой, но его легко обойти. Без проверки на стороне сервера не обойтись.
1) проверяем на клиенте (чтобы сеть и сервер не грузить попусту)
2) проверяем на сервере
niro
Окт. 11, 2006 13:42:46
если б я знал js …
pythonwin
Окт. 11, 2006 13:48:27
niro
Окт. 17, 2006 16:09:43
А как аплоадить через форму несколько файлов (неопределенное число)?