使用Pylons Web Fram上传Zip档案

2024-10-06 11:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Pylons框架(1.0)开发一个Web应用程序。一个想要的功能是上传zip文件,将它们存储在服务器上,并能够在以后下载它们。你知道吗

我首先在我的REST控制器中这样做:

def submit(self):   
    uploadedFile = request.POST['myFile']
    path = 'some/path/in/the/filesystem'
    storedFile = open(path, 'wb')
    shutil.copyfileobj(uploadedFile.file, storedFile)
    storedOrbjetFile.close()

不幸的是,这会导致存档文件损坏。我试着用uploadedFile.value直接,它似乎工作,但文件副本将在后端更深入,我不想把值传递给我的后端,而是文件。你知道吗

我找到的另一种解决方案是创建一个新的tempfile并复制其中的值。然后我可以得到tempfile的文件路径,并将其路径发送到后端。你知道吗

这就引出了几个开放性的问题:

  • 我如何才能使它干净,避免额外的复制操作?你知道吗
  • 做这种事的一般程序是什么?你知道吗
  • 有没有可能使用文件.file(tempfile)由塔架和shutil.copyobjfile文件,为什么存档会损坏?你知道吗

我的用例似乎很常见,所以我有点惊讶我遇到了困难。。你知道吗

谢谢你的帮助。你知道吗


Tags: 文件path路径功能服务器框架web应用程序