2012-10-22 36 views
4

該文件是可作爲請求的原始數據。我應該如何改造它被保存在一個ImageFieldmodel代表的磁盤上。保存文件的ImageField

試過的東西:

file_ = File(request) 
modelinstance.picture.save(filename, file_, save=False) 
modelinstance.save() 

和上面的一些變種。有關如何在django視圖中執行此操作的示例會有所幫助。

謝謝!

+0

這個http://stackoverflow.com/questions/6232089/save-raw-post共幫助-data-to-filefield-using-django –

回答

1

解決它像這樣

filename = request.GET[ 'yourfilename' ] 

from django.core.files.uploadedfile import SimpleUploadedFile 
file_contents = SimpleUploadedFile("%s" %(filename), request.raw_post_data) 

modelinstance.picture.save(filename, file_contents, True) 
1

如果你使用一個ModelForm,你不會有什麼特別的事情。 ModelForm自動處理FileField/ImageField。

如果你真的想要做手工,Django的has docs

+0

這只是問題的一部分。實際的問題是我的文件不在request.FILES中,因爲它是ajax XHR請求。那麼,如何進行閱讀和 –

+0

你的意思是你必須分配給我的ImageField文件base64編碼或類似的東西,在XHR請求裏面?那很有意思。 檢查文件字段想要的內容。一個文件對象?它是否需要保存在磁盤上? – jbn

+0

這是非常複雜的通過AJAX上傳文件,這個插件可以很容易http://www.malsup.com/jquery/form/你也應該提高你的問題,它是如何「你的文件不在請求。文件「在評論中,而不是在問題中?哈胡姆...... – jpic

相關問題