【发布时间】:2012-06-02 12:29:44
【问题描述】:
我正在使用 BlobstoreService 将文件上传到 AppEngine 中的 blobstore。如何限制文件的内容类型或文件类型?例如,我只想允许上传图片/jpeg 文件。
【问题讨论】:
我正在使用 BlobstoreService 将文件上传到 AppEngine 中的 blobstore。如何限制文件的内容类型或文件类型?例如,我只想允许上传图片/jpeg 文件。
【问题讨论】:
没有办法禁止用户先验地上传被禁止的文件类型,因为在他们进行 POST 之前,您无法知道他们将要上传什么,并且没有干净的方法可以中途终止 POST 请求.您可以在他们上传文件后检测文件类型,如果禁止,则从 blobstore 中删除文件。
【讨论】:
当然,Nick 的答案是正确的,您需要在服务器端进行一整套检查(类型、大小等)。但是,如果您真的很担心,您可能会考虑在客户端进行一些基本的错误检查。 JavaScript 在提交表单之前检查文件名是否以 jpg 结尾(加上变体)很容易实现。请记住也要检查服务器。
【讨论】: