2017-06-23 50 views
0

我有一個InMemoryUploadedFile對象,當我對它做一個.read()時,它會丟失它的內容。是否有可能從相同的對象兩次讀取這個內容?我試圖.copy()它,但當然這不應該工作。讀取InMemoryUploadedFile兩次

如果這是不可能的,我可以以某種方式把內容放回同一個對象?

之所以這樣:對於一個Django形成prevalidation()方法想讀出的內容,但是如果這樣做,以後我可以」噸保存它。這裏的表現不算。

+0

做這樣的事情, '富= '''' = read_once InMemoryUploadedFile.read()'' = FOO FOO + read_once' '#so,現在你可以使用foo作爲第二次了' – Stack

+0

有了這個問題,它會成爲一個新的對象。 – user2194805

回答

3

你應該能夠調用seek(0)底層的文件對象:

my_file_obj.file.seek(0) 
+0

謝謝,這是我需要的。 – user2194805

+0

'InMemoryUploadedFile'實現完整的文件接口,所以你可以調用'my_file_obj.seek(0)'。 – knbk