Flask csv

0

Witam, potrzebuje małej pomocy.

Muszę wystawić w api endpointa na który można przesłać plik w formacie *.csv. API jest Rest jednak komunikacja w tym przypadku nie ma się opierać o json. Ma ktoś jakieś materiały o które mogę się oprzeć ?

A i z nazwy *.csv potrzebuje wyciągnać nazwe raportu oraz typr raportu. Mniej więcej tak ma to wyglądać nazwaraportu_typraportu.csv a ja mam go zapisać id_nazwaraportu_typraportu.csv

Jeżeli chodzi o mapowanie mam już wszystko zrobione w mongo gdzie genereuje i sprawdzam id itp. Potrzebuje tylko sposobu jak ktoś może mi przesłać csv oraz jak to mam zapisać do pliku.

Z góry dziękuję.

0

hej mam taki kawałek kodu

 

UPLOAD_FOLDER = 'D:/uploads'

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route("/api/reports/upload", methods=['GET', 'POST'])
def uploadfile():
    try:
         
        if request.method == 'POST':
            file = request.files['file']
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                return 'success'
        return """
        <!doctype html>
        <title>Upload new File</title>
        <h1>Upload new File</h1>
        <form action="" method=post enctype=multipart/form-data>
          <p><input type=file name=file>
             <input type=submit value=Upload>
        </form>
        <p>%s</p>
        """ % "<br>".join(os.listdir(app.config['UPLOAD_FOLDER'],))
        
        
    except Exception as e:
        raise InvalidUsage(e.message)

przez stronę jak wejdę i wybiorę oczywiście plik działa to prawidłowo. Ale dla czego przez psotmana jak wysyłam to mi wywala ?

na tym się sypie że nie potrafi znaleźć file = request.files['file']

0

A jak wysyłasz dane? Przez formularz?

<form action="/" method=post enctype=multipart/form-data>

Tutaj masz cały flow wysyłania pliku we Flasku:

0

tak przez formularz generowany przez skrypt działa.

to rozwiązanie mi nie działa
http://stackoverflow.com/questions/31514568/how-may-i-upload-file-in-restful-flask

tak samo nawet jak tam psotmana konfiguruje w tym linku co podałes oraz w moim kodzie wybija mnie na

file_upload = request.files['file']

exception dość głupi pisze mi tylko iż brakuje klucza file 'file' który wysyłam tym też ustawiam na file na post manie i dupa blada

0
<!DOCTYPE HTML PUBLIC "-*W3C*DTD HTML 3.2 Final//EN"> <title>400 Bad Request</title>

Bad Request

The browser (or proxy) sent a request that this server could not understand.

takie coś dodstaje ;/ z exceptiona jak go zwracam

0

idiota ze mnie ^^ totalny ;) źle ustawiłem postmana z wcześniejszych testów zostawiłem hedera iż to json ^^

1 użytkowników online, w tym zalogowanych: 0, gości: 1