PermissionError [Errno 13] Отказано в доступе: 'After.png' - PullRequest
0 голосов
/ 25 августа 2018

Я создал веб-сайт, используя инфраструктуру Django, одна из которых заключалась в обработке изображений, загруженных пользователем, и сохранении их в папке для загрузки, но обнаружена ошибка ([Errno 13] В доступе отказано: после. Png ') , Я использую (python3 manage. Py runserver), и он работает, но не работает при развертывании с Apache 2.

Я знал, что это проблема с разрешениями Ubuntu, но я не мог ее исправить после изменения прав доступа к файлу. Я надеюсь, что кто-то может дать мне несколько советов. Спасибо большое действительно.

Мой код:


from PIL import Image
import numpy as np

    # use PIL.Image to save picture as 'After.png'
    Image.fromarray(im).save('After.png')

    # for download
    file=open('After.png','rb')  
    response =HttpResponse(file)  
    response['Content-Type']='application/octet-stream'  
    response['Content-Disposition']='attachment;filename="After.png"'  
    return response

Информация об ошибке

    PermissionError at /Text_embed/embedding_info/
    [Errno 13] Permission denied: 'After.png'

Информация об ошибке 1

Разрешение

1 Ответ

0 голосов
/ 25 августа 2018

Хорошо, я решаю эту проблему, я изменяю корень изображения, и он работает!

До:

        Image.fromarray(im).save('After.png')

        file=open('After.png','rb')  

После:

        Image.fromarray(im).save('/home/Lenote/After.png')

        file=open('/home/Lenote/After.png','rb')  

Потому что когдаЯ использую python3 manage.py runserver save('After.png') создаст изображение как /home/Lenote/After.png. Но когда я использую apache2, возможно, он создаст изображение в /etc/apache2/.... без разрешения.

Спасибо всем.В частности, спасибо Micheal J Roberts:).

...