我的项目正在处理 Django,有一个功能需要加载文件并在文本区域中显示文件内容。引用下面的代码。 上传文件然后显示在“Text_To_Show”项中。我不想将文件存储在服务器端或数据库中。所以我的想法是:使用ajax将文件(内容)发布到view.py,然后HTTPResponse(数据)返回页面。
表单.py
class RequestForm(forms.Form):
Text=forms.CharField(label='Text',widget=forms.Textarea(attrs{'cols':80, 'rows':8 }),max_length=2048,required=False)
file = forms.FileField()
Text_To_Show = forms.CharField(label='Text_To_Show',widget=forms.Textarea(attrs={readonly':True}),required=False)
views.py
if request.is_ajax() and request.method == 'POST':
form = RequestCertForm(request.POST,request.FILES)
if form.has_changed():
print request.FILES
return HttpResponse('FileContent')
Javascript
$(document).ready(function(){
$("#id_file").change(function(){
$.ajax({
method : 'POST',
enctype: 'multipart/form-data',
success: function(result){
$("#id_text_to_show").val(result);
},
fail: function(result){
$("#id_text_to_show").val(result);
}
});
});
});
基于文档 https://docs.djangoproject.com/en/1.8/topics/http/file-uploads/ 需要方法“POST”和enctype:'multipart/form-data',但我的问题是为什么我无法从request.FILES获取文件内容(数据)。任何这方面的专家都可以。你能让我知道吗?
最佳答案
采用FileReader直接解析文件的思路。
关于javascript - 在Django框架中使用Ajax加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581470/