PIL меняет имя файла при сохранении - PullRequest
1 голос
/ 14 августа 2011

Когда я использую метод save в PIL для сохранения файла, он сохраняет его под правильным именем файла, которое я предоставляю, но при щелчке по имени файла путь становится другим.(Извините, мое объяснение - отстой).

Например, если вы перейдете к http://shopperspoll.webfactional.com/media/images/emailTemplate/mergedImages/, появится изображение с именем "7962716_41tlK2uT% 2BSL. SL75 .png".При нажатии на изображение имя файла, отображаемого в браузере, изменится на «7962716_41tlK2uT% 252BSL. SL75 .png» с дополнительным «52» в имени файла.Я использую image.save(pathName) для сохранения изображения.

Спасибо!

1 Ответ

4 голосов
/ 15 августа 2011

Поскольку 7962716_41tlK2uT%2BSL.SL75.png является допустимым именем файла, оно сохраняется в вашей файловой системе. Браузер кодирует имя файла, поэтому 7962716_41tlK2uT%2BSL.SL75.png становится 7962716_41tlK2uT%252BSL.SL75.png; знак процента в вашем имени файла становится %25.

Таким образом, PIL не меняет ваше имя файла, ваш браузер избегает вашего фактического имени файла. Вот и все!

Получив запрос с параметром q, вы получите:

>>>urllib.urlencode({'q':'7962716_41tlK2uT%2BSL.SL75.png'}) == "q=7962716_41tlK2uT%252BSL.SL75.png"
True
...