此错误是由于浏览器无法获取本地文件路径而导致的,因此需要通过调整代码来解决。
修改AJAX代码,将上传的文件名通过FormData对象传送到后台,而不是传送整个文件对象。
后台代码中,使用request.files.get()获取上传的文件,而不是从路径中获取文件。
示例代码如下:
前端代码:
var formData = new FormData();
formData.append('file', $('#fileInput')[0].files[0]);
$.ajax({
url: '/upload',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (data) {
console.log(data);
},
error: function (xhr, status, error) {
console.log('Error: ' + error.message);
}
});
后端代码:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files.get('file')
filename = file.filename
# 处理上传的文件
return jsonify({'filename': filename})