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

时间:2019-04-22 12:28:59

标签: python ajax flask docx

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

我的后端使用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的最佳方法是什么?

0 个答案:

没有答案