2010-01-03 18 views
0

当由Django的服务器接收的上载的文件,它的名称可以用UploadedFile.nameDjango的文件上载:路径和文件名

如果filename在多部分数据内容中包含像路径读:“/一/ b/c',UploadedFile.name似乎包含'/ c'。我如何检索完整路径而不仅仅是文件名。

谢谢。

Laurent Luce

回答

8

你不能。许多浏览器永远不会发送整个路径,作为防止信息泄露的安全措施。

更重要的是,您对用户计算机上生效的文件和路径命名约定一无所知,因此对提交的名称几乎没有办法。不要做任何依赖提交的文件名。

+4

+1:这是规则的扩展:不要信任任何用户发送给你的东西。 UN * X有一个名为'file'的命令,它会给你一个你实际拥有的东西的好主意;我相信有一个API。如果你接受各种随机上传的东西,你可能想要自己“打字”文件,而不是依赖于扩展名。 – 2010-01-03 03:04:44