关于falsk一个文件上传的问题

新手上路,请多包涵

当配置上传目录是
UPLOAD_FOLDER = '/app/uploads'
执行
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
没报错
再执行
@app.route('/uploads/')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],
filename)
在浏览器上面可以看到图片,但是找不到上传的目录

当配置上传目录是
UPLOAD_FOLDER = 'app/uploads'
执行
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
没报错
再执行
@app.route('/uploads/')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],
filename)
在浏览器上面开不到图片,但是找到上传目录

关键在于 上传目录的'/'

怎样才能上传了之后在浏览器看到图片,也找到对应的上传目录呢

阅读 4.1k
1 个回答

一般情况下, 推荐第一种写法, 第二种写法不去讨论对与不对.

可能你的系统是Windows, 而你的上传路径是Linux写法, 会导致 os.path.join 异常:

比如: /app/uploads1.txt 合并:

  • Linux的合并结果: /app/uploads/1.txt
  • Windows的合并结果: /app/uploads\\1.txt
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题