kev*_*son 5 python flask flask-uploads
我在 Flask 应用程序中使用Flask Uploads作为上传表单。但是,每当我尝试保存文件时,都会收到此错误:
File "/Users/Documents/virtual_environment/bin/../lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/app'
Run Code Online (Sandbox Code Playgroud)
上传似乎没有保存文件所需的权限?这是我用于烧瓶上传的配置:
UPLOADS_DEFAULT_URL = os.environ.get("UPLOADS_URL", "http://localhost:5000/")
UPLOADS_DEFAULT_DEST = "/app/uploads/"
UPLOAD_EXTENSIONS = set(["csv", "xls", "xsls"])
Run Code Online (Sandbox Code Playgroud)
另外,这是我保存实际文件的方法:
@app.route('/upload', methods = ['GET', 'POST'])
@app.route('/upload/', methods = ['GET', 'POST'])
@roles_accepted('admin', 'team')
def r_upload():
form = FileUploadForm()
if form.validate_on_submit():
filename = uploadSet.save(form.uploadfile.data)
url = uploadSet.url(filename)
flash("%s uploaded <a href=\'%s\'>HERE</a>!" % (filename, url))
return render_template('/uploads.html',
dashboard_title = "%s Uploads" % g.name,
form = form)
Run Code Online (Sandbox Code Playgroud)
该错误是由保存行引起的。对于如何解决这个问题,有任何的建议吗?谢谢。
你的linux用户有文件权限吗/app/uploads/
?检查是否使用ls -la /app/uploads
.
请注意,/app
将尝试在文件系统的根目录中写入文件/
。
如果您想在应用程序中写入文件,请app/uploads
使用/app/uploads/
. 从错误来看,它看起来/app
根本不存在,而写入app/uploads
正是您想要做的。