如何使用Ajax传输.docx文件并用flask接收和保存它们?

2024-10-01 00:21:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我打算在前端读取文件,将其传输到后端,然后在后端保存文件。你知道吗

我的后端使用flask,前端使用Ajax进行传输,传输的数据类型是json。你知道吗

前端JS:

var f = files[0];
var reader = new FileReader();
reader.readAsText(f);
reader.onload = function (e) {
    var dataBase64 = e.target.result;
    var videoNum = dataBase64.split(";base64,");
    var data = {
        'text': videoNum,
        'type': f.type
    };
    $.ajax({
        type: 'POST',
        url: "/load",
        data: JSON.stringify(data),
        contentType: 'application/json; charset=UTF-8',
    });
};

后端Python:

getJson = request.get_json()
text = getJson['text'][0]
if getJson['type'] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
    print("get docx file")
    with open('static/file/' + 'xxx.docx', 'wb') as f:
        # TODO

我不知道如何将收到的字符串正确地转换成二进制文件并保存它。你知道吗

我听说Ajax会更改二进制数据,所以建议使用XmlHttpRequest,但我没有成功地使用XmlHttpRequest获取数据。我想知道传输.docx文件和在后端使用flask的最佳方式是什么?你知道吗


Tags: 文件textjsonflaskdatagetapplicationvar