Я хочу загрузить файл, используя Fetch API Javascript.Я использую конечную точку, которую я закодировал во Flask с помощью Python. Я пытался использовать API выборки, но получаю внутреннюю ошибку 500 (внутренняя ошибка сервера). Затем я попытался использовать Ajax-версию загрузки файлов, которая работает нормально. Но я хочукод в Vanilla JS.
Это index.html
<form id="upload-file" method="post" enctype="multipart/form-data">
<fieldset>
<label for="file">Select a file</label>
<input name="file" type="file">
</fieldset>
<fieldset>
<button id="upload-file-btn" type="button">Upload</button>
</fieldset>
</form>
Это app.js
$(function() {
$('#upload-file-btn').click(function() {
var form_data = new FormData($('#upload-file')[0]);
$.ajax({
type: 'POST',
url: '/uploadajax',
data: form_data,
contentType: false,
cache: false,
processData: false,
success: function(data) {
console.log('Success!');
},
});
});
});
Это конечная точка в загрузке файлов Flask.py
from flask import Flask, render_template, request
from werkzeug import secure_filename
app = Flask(__name__)
@app.route('/uploader', methods = ['GET', 'POST'])
def upload_file():
if request.method == 'POST':
f = request.files['file']
f.save(secure_filename(f.filename))
return 'file uploaded successfully'
if __name__ == '__main__':
app.run(debug = True)
Как сделать такой же запрос ajax с fetch api?