2012-10-22 85 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

相关问题