Django上传文件获取全名和文件路径

时间:2015-07-29 03:16:36

标签: python django google-api django-forms dropbox-api

我正在修改云存储API并需要帮助从Django上传表单中获取完整的文件名。我目前可以让用户从任何目录中选择一个文件“file.txt”,并可以通过

获取名称
for file in request.FILES.getlist('file'):
    print file.name `

但是我想要完整的文件路径,更像是'home/user/documents/file.txt'

这是可能的吗?我如何获得全名?我不打算实际上传文件,只是获取完整路径,以便我可以使用dropbox / google drive api。

此处参考的是表格

class UploadFileForm(forms.Form):
    folder_name = forms.CharField(max_length = 300)
    title = forms.CharField(max_length=50)
    file = forms.FileField(label='Select a file')

提前致谢。

1 个答案:

答案 0 :(得分:0)

浏览器不会告诉文件来自哪个目录。 他们甚至没有将这些信息提供给页面上的脚本。

当用户上传文件时,您可能知道:

  • 其基名。
  • 它的大小。
  • 其类型(通常从扩展中猜出)。
  • 修改时间。

无论您是直接从浏览器的<input>元素访问信息,还是等待它POST,都可以获得这一切。

你也可以反过来解决这个问题:如果你真的需要能够发布文件的完整路径,你需要开发一个发送它的客户端应用程序。它可以是独立的可执行文件,浏览器插件/应用程序或Java小程序,只要它在网页沙箱之外运行即可。

我不使用Dropbox,但我相信您需要下载并安装一些其他软件才能使用它。这就是它如何访问文件的完整路径。