0
我有一个自定义上传视图的问题。该问题开始时,我试图保存至/pathto/static/media/temp/
。 Django设置MEDIA_ROOT=/pathto/static/media
,STATIC_ROOT=/pathto/static
。下面的代码:不能手动保存磁盘上的图像(Nginx,Django)
def upload_picture(request):
temp_file = request.FILES['picture'].read()
image_file = BytesIO(temp_file)
im = Image.open(image_file)
im.save('/pathto/static/media/temp/image.jpg')
...
权限/pathto/static/media/temp/
目录
drwxrwxrwx 2 root root 4096 ... temp
Nginx的配置
server {
location /media/ {
alias /pathto/static/media/;
}
location /static/ {
alias /pathto/static/;
}
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:9000;
}
}
肯定一切正常,如果DEBUG=True
因为Django的开始提供文件服务。所以可能是Nginx配置的问题。
我该如何解决手动保存图像的问题?
您是否硬编码了每个上传到完全相同文件的映像路径?在这种情况下,两次同时上传不起作用。 – 2015-04-05 12:28:32
@KlausD。这不是问题,我只是简化了不注意不必要细节的代码。 – 2015-04-05 12:37:16
是否存储了这些文件,而不是由nginx提供服务?请求是否返回200? – 2015-04-05 14:02:22