python – 使用Turbogears 2上传文件

前端之家收集整理的这篇文章主要介绍了python – 使用Turbogears 2上传文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直试图用Turbogears 2来制定管理文件上传的“最佳实践”方法,到目前为止还没有真正找到任何例子.我已经找到了实际上传文件方法,但我不确定它有多可靠.

另外,获取上传文件名的好方法是什么?

    file = request.POST['file']
    permanent_file = open(os.path.join(asset_dirname,file.filename.lstrip(os.sep)),'w')
    shutil.copyfileobj(file.file,permanent_file)
    file.file.close()
    this_file = self.request.params["file"].filename 
    permanent_file.close()

所以假设我理解正确,这样的事情会避免核心’命名’问题吗? id = UUID.

    file = request.POST['file']
    permanent_file = open(os.path.join(asset_dirname,id.lstrip(os.sep)),permanent_file)
    file.file.close()
    this_file = file.filename
    permanent_file.close()
最佳答案
@mhawke – 你是对的,你必须处理 – 取决于你正在对文件做什么,如果有一个名称冲突没关系,例如你只关心一些数据的最新版本然后可能没有问题,或者如果文件名实际上不重要只是文件内容,但它仍然是不好的做法.

您可以在tmp目录中使用命名的临时文件,然后将文件一经验证移动到其最终位置.或者您可以检查文件名是否已经存在,如下所示:

file.name = slugify(myfile.filename)
name,ext = os.path.splitext(file.name)
while os.path.exists(os.path.join(permanent_store,file.name)):
    name += '_'
    file.name = name + ext

raw_file = os.path.join(permanent_store,file.name)

slugify方法将用于整理文件名…

原文链接:https://www.f2er.com/python/439014.html

猜你在找的Python相关文章