【发布时间】:2016-04-22 14:36:20
【问题描述】:
在我的 django 表单向导中,我添加了一个文件字段来上传 csv 文件。在 get_context_data 我试图处理文件中包含的一些信息。
我可以打印出(self.get_cleaned_data_for_step('0')['file']),它会返回一个对象。但是当我尝试使用打开它时
file = open(self.get_cleaned_data_for_step('0')['file'], "rb")
它返回此错误:
TypeError at /research/lists/1/import/
invalid file: <UploadedFile: SalesJan2009.csv (application/vnd.ms-excel)>
这里有 Mime 类型问题吗?上传文件后有没有办法更改 Mime 类型?
【问题讨论】:
-
你能发布
self.get_cleaned_data_for_step('0')['file']的值吗? -
我上传了Book1.csv,打印出来的是“Book1.csv”
-
csv文件不是二进制文件,因此您应该以“r”而不是“rb”打开文件 -
我将代码更改为 file = open(self.get_cleaned_data_for_step('0')['file'], 'r') 并且仍然收到相同的错误,无效文件: