我学习烧瓶中,我试图通过这里记录的上传文件模式工作:http://flask.pocoo.org/docs/patterns/fileuploads/.我在Windows 7上使用Firefox 12,并且在本地计算机上以调试模式运行我的应用程序.
我正在逐字复制示例,除了我定义的UPLOAD_FOLDER变量的值,UPLOAD_FOLDER = '/uploads'
并创建了一个名为"uploads"的目录,该目录存在于应用程序根目录中(以及静态和模板目录).
上传文件后,我收到错误: IOError: [Errno 2] No such file or directory: '/uploads\\u.png'
有趣的是,如果我为uploads文件夹指定一个原始字符串,它直接指向我的机器上的上传,就像UPLOAD_FOLDER = r'C:\Python27\projects\Flask\myproject\uploads'
一切正常.
我没有以正确的方式指定目录吗?上传目录应该放在其他地方吗?
ajk*_*hol 33
为什么不尝试这个,它对我有用.
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
UPLOAD_FOLDER = os.path.join(APP_ROOT, 'static/uploads')
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
Run Code Online (Sandbox Code Playgroud)
jd.*_*jd. 12
'/ uploads'开头的斜杠使路径规范成为绝对路径:前导斜杠表示文件系统层次结构的根.虽然这可能不完全是Windows上的工作方式,但Python以这种方式理解它是有道理的,因为它的路径处理功能是跨平台的.
表单'uploads /'和'./uploads/'是等效的,它们是相对的.
请注意,相对路径是相对于当前目录的,您不一定要控制它,因此您可能希望为UPLOAD_FOLDER指定绝对路径.
归档时间: |
|
查看次数: |
7229 次 |
最近记录: |