1

当用户上传文件时,我希望它存储文件,读取前 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现在所拥有的。但我不希望它呈现一个新页面。

4

1 回答 1

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);
});
于 2017-04-12T22:23:32.410 回答