Flasche-RESTful – Bild hochladen

Ich habe mich gefragt, wie Sie Dateien hochladen, indem Sie einen API-Dienst erstellen?

class UploadImage(Resource): def post(self, fname): file = request.files['file'] if file: # save image else: # return error return {'False'} 

Route

 api.add_resource(UploadImage, '/api/uploadimage/<string:fname>') 

Und dann das HTML

  <input type="file" name="file"> 

Ich habe CORS auf der Serverseite aktiviert

Ich benutze angular.js als Front-End und ng-Upload, wenn das zählt, kann aber auch CURL-Anweisungen verwenden!

4 Solutions collect form web for “Flasche-RESTful – Bild hochladen”

Etwas auf den Zeilen des folgenden Codes sollte helfen.

  @app.route('/upload', methods=['GET', 'POST']) def upload(): if request.method == 'POST': file = request.files['file'] extension = os.path.splitext(file.filename)[1] f_name = str(uuid.uuid4()) + extension file.save(os.path.join(app.config['UPLOAD_FOLDER'], f_name)) return json.dumps({'filename':f_name}) 
 class UploadWavAPI(Resource): def post(self): parse = reqparse.RequestParser() parse.add_argument('audio', type=werkzeug.FileStorage, location='files') args = parse.parse_args() stream = args['audio'].stream wav_file = wave.open(stream, 'rb') signal = wav_file.readframes(-1) signal = np.fromstring(signal, 'Int16') fs = wav_file.getframerate() wav_file.close() 

Sie sollten den Stream verarbeiten, wenn es ein WAV wäre, funktioniert der Code oben. Für ein Bild sollten Sie auf der Datenbank speichern oder auf AWS S3 oder Google Storage hochladen

Folgendes ist genug, um die hochgeladene Datei zu speichern

  from flask import Flask from flask_restful import Resource, Api, reqparse import werkzeug class UploadAudio(Resource): def post(self): parse = reqparse.RequestParser() parse.add_argument('file', type=werkzeug.datastructures.FileStorage, location='files') args = parse.parse_args() audioFile = args['file'] audioFile.save("your_file_name.jpg") 

Sie können die Anfrage aus der Flasche verwenden

 class UploadImage(Resource): def post(self, fname): file = request.files['file'] if file and allowed_file(file.filename): # From flask uploading tutorial filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) return redirect(url_for('uploaded_file', filename=filename)) else: # return error return {'False'} 

http://flask.pocoo.org/docs/0.12/patterns/fileuploads/

  • Wie kann ich eine Spalte im Bearbeitungsformular mit Flask-Admin ModelView filtern?
  • Sprache ändern Flasche Babel manuell
  • Wie kann man Flaschenerweiterungen manuell installieren?
  • Flasche und flask_login - organisierungscode
  • Wie man ein Feld nicht editierbar in Flask Admin-Ansicht einer Modellklasse macht
  • Wie man benutzerdefinierten Code bei der Anmeldung mit Flasche-Sicherheit ausführt
  • Flask-login AttributeError: 'User' Objekt hat kein Attribut 'is_active'
  • Wie man über api Routen in einer anderen Datei als die App-Initialisierungsdatei iterieren kann
  • Holen Sie sich die Abfrage Ausführungszeit in json Ausgabe
  • Calling Flasche erholsame API Ressource Methoden
  • Formular Daten, die nicht mit den neuesten Einträgen aktualisieren
  • Python ist die beste Programmiersprache der Welt.