我打算在前端读取文件,将其传输到后端,然后在后端保存文件。
我的后端使用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的最佳方法是什么?