Почему я получаю «Значение исключения IOError: [Errno 2] Нет такого файла или каталога» при сохранении файла с PIL - PullRequest
0 голосов
/ 19 марта 2011

Я создаю сайт с использованием Django / Python, и есть одна страница, на которой пользователь может загрузить фотографию, которая затем будет изменена в размерах и сохранена с использованием следующей функции:

from PIL import Image, ImageFile

def resize(file_to_resize, string_id,):
    parser = ImageFile.Parser()
    while True:
        s = file_to_resize.read(1024)
        if not s:
            break
        parser.feed(s)
    image = parser.close()
    ms = image.copy()
    size = 320,240
    ms.thumbnail(size, Image.ANTIALIAS)
    ms.save('http://www.mysite.com/site_media/images/profile/' + string_id, "JPEG") `

Это работало нормально, покаработает локально, но как только я загрузил сайт на свой хост и запустил его под Apache, я получил следующую ошибку:

Метод запроса: POST
URL запроса: http://www.mysite.com/saveimage/8/
Версия Django: 1.2.1
Тип исключения: IOError
Значение исключения:
[Errno 2] Нет такого файла или каталога: u 'http://www.mysite.com/site_media/images/profile/8'
Расположение исключения: /usr/local/lib/python2.6/site-packages/PIL/Image.py в файле сохранения, строка 1299
Исполняемый файл Python: /usr/languages/python/2.6/bin/python
Версия Python: 2.6.6

Кроме того, я новичок ввеб-разработка и Django / Python, на самом деле это проект, над которым я работаю, и планирую делиться им с друзьями и семьей, поэтому я не уверен, является ли это даже лучшим подходом, когда речь идет о безопасности и разрешении файлабыть написанным непосредственно на сайт.Любой совет приветствуется.

1 Ответ

3 голосов
/ 19 марта 2011

У вас нет каталога с именем «http:» в текущем каталоге.

Если вы на самом деле пытаетесь сохранить файл по HTTP, это не так.

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