当用户上传文件时,我希望它存储文件,读取前10行并将前10行发送回页面。我不确定如何在视图或客户端执行此操作。
def UploadTest(request):
if request.POST and request.FILES:
csvfile = request.FILES['csv_file']
dialect = csv.Sniffer().sniff(codecs.EncodedFile(csvfile, "utf-8").read(1024))
csvfile.open()
reader = csv.reader(codecs.EncodedFile(csvfile, "utf-8"), delimiter=',', dialect=dialect)
return render(request, 'index.html', {"form": reader} )
这就是我现在views.py
所拥有的。但我不希望它呈现新页面。
答案 0 :(得分:0)
使用FormData
从表单获取文件数据,并发送Ajax调用。
如下所示:
function upload(event) {
event.preventDefault();
var myFile = new FormData($('form').get(0));
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: myFile,
cache: false,
processData: false,
contentType: false,
success: function(data) {
# your logic here
}
});
return false;
}
$(function() {
$('myForm').submit(upload);
});