正在获取文件上载的名称-Google应用程序引擎Python
我试图让我的处理程序检查文件上载的扩展名,以确保用户没有上载恶意软件或无关文件。我似乎找不到一种方法来获取服务器端的文件名。问题和另一个问题被称为只获取正在获取文件上载的名称-Google应用程序引擎Python,python,html,google-app-engine,Python,Html,Google App Engine,我试图让我的处理程序检查文件上载的扩展名,以确保用户没有上载恶意软件或无关文件。我似乎找不到一种方法来获取服务器端的文件名。问题和另一个问题被称为只获取self.request.get(“file\u input\u name\u attr”).filename,但在GAE的最新版本中,file对象是字符串,因此不能要求获取filename 以下是我表格的相关部分: <form action="/path" method="post" enctype="multipart/form-dat
self.request.get(“file\u input\u name\u attr”).filename
,但在GAE的最新版本中,file对象是字符串,因此不能要求获取filename
以下是我表格的相关部分:
<form action="/path" method="post" enctype="multipart/form-data">
<input type="file" name="uploadFile" />
</form>
但对我来说,
self.request.POST[“uploadFile”]
返回一个空值请参阅,查看如何使用Appengine上载文件。请参阅,查看如何使用Appengine上载文件。您可能需要将文件名作为单独的POST参数或url参数传递
self.request.POST["filename"] usually contains the actual file name.
参考:
您可能需要将文件名作为单独的POST参数或url参数传递
self.request.POST["filename"] usually contains the actual file name.
参考:
事实证明,正确的方法是:
self.request.params["uploadFile_or_whatever_the_input_name_is"].filename
正如前面提到的。我第一次尝试这个方法时,我的代码中肯定有其他东西破坏了它,所以我认为这个方法已经过时了。我想有时候就是这样:)
谢谢你们的回答 事实证明,正确的方法是:
self.request.params["uploadFile_or_whatever_the_input_name_is"].filename
正如前面提到的。我第一次尝试这个方法时,我的代码中肯定有其他东西破坏了它,所以我认为这个方法已经过时了。我想有时候就是这样:)
谢谢你们的回答 我不想使用Blobstore,因为我不想保存文件数据。我只是将上传的文件附加到一封电子邮件中,发送出去,然后忘记它。你需要将它与Blobstore一起上传,然后删除它。Appengine没有临时文件系统。也许我需要澄清一下。我只想从文件中得到它的扩展名和内容。我已经有内容了,我只想要分机。我不担心设置文件系统。使用Blobstore对于一个简单的工作来说是很昂贵的。我宁愿不使用Blobstore,因为我不想保存文件数据。我只是将上传的文件附加到一封电子邮件中,发送出去,然后忘记它。你需要将它与Blobstore一起上传,然后删除它。Appengine没有临时文件系统。也许我需要澄清一下。我只想从文件中得到它的扩展名和内容。我已经有内容了,我只想要分机。我不担心设置文件系统。使用Blobstore对于一个简单的工作来说是昂贵的。我如何告诉我的表单通过它?您引用的站点建议浏览器包含文件名,但什么是普通键?我尝试了“filename”,但它引发了一个键错误。正如问题中提到的,我尝试了输入的名称,但尽管它没有引起错误,结果却是空的。对不起,我的无知…我该如何告诉我的表格通过它?您引用的站点建议浏览器包含文件名,但什么是普通键?我尝试了“filename”,但它引发了一个键错误。正如问题中提到的,我尝试了输入的名称,但尽管它没有引起错误,结果却是空的。对不起,我的无知。。。