我正在Javascript中创建一个基本表单,以便将图像提交给Flask驱动的服务器。
form = document.createElement('FORM');
form.method = 'POST';
form.enctype = 'multipart/form-data';
...
var input = document.createElement('INPUT');
input.setAttribute('type','file');
input.setAttribute('accept','.jpg, .jpeg, .png');
input.addEventListener('change', handleFiles, false);
input.name = 'file';
然后我有一个按钮,点击后提交表单:
function fileSubmitClick() {
form.submit();
}
问题是在提交表单时Firefox上发生了奇怪的事情:(1)套接字通信断开; (2)清除Javascript控制台。这些都不会发生在Chrome或Safari上。
供参考,以下是我在Flask上处理表单提交的方式:
@app.route('/', methods=['POST'])
def upload_file():
if 'file' not in request.files:
print('No file part')
return ('',204)
file = request.files['file']
if file.filename == '':
print('No selected file')
return ('',204)
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return ('',204)