2016-05-18 5 views
0

Ich befolge die Dokumentation von MailGun zum Anhängen einer Datei, aber alle Beispiele haben bereits eine Datei ausgewählt. Wie kann ich einen vom Benutzer hochgeladenen Anhang senden?Senden von hochgeladenen Anlagen mit Mailgun und Bottle

Der Code funktioniert mit dem Senden von Nachrichten in Ordnung, aber wenn ich diesen Teil hinzugefügt ...

files=[("attachment", open(request.files.data.file)),], 

ich diesen Fehler:

TypeError: invalid file: <_io.BufferedRandom name=19> 

HTML-Formular

<form action="/subr" method="post" enctype="multipart/form-data"> 
<input id="main" name="em" type="email" placeholder="E-MAIL" required><br> 
<textarea id="main" name="about" placeholder="DESCRIBE THE FILE"></textarea><br> 
<input id="main" type="file" name="data" required> 
<button type="submit">SUBMIT FILE</button> 
</form> 

Flaschenweg:

@route('/subr', method='POST') 
def submitr(): 
    subject = "File Submission" 
    item1 = request.forms.get('em') 
    item2 = request.forms.get('about') 
    text = str(item1) + " " + str(item2) 
    requests.post("https://api.mailgun.net...", 
    auth=("api", "key-4..."), 
    files=[("attachment", open(request.files.data.file)),], 
    data={"from": "Mailgun Sandbox <[email protected]>", 
     "to": "Me <[email protected]>", 
     "subject": subject, 
     "html": text}) 
    return "<p>Success</p>" 

Jede Hilfe wird geschätzt.

Antwort

1

request.files.data.file bereits geöffnet ist; Lesen Sie einfach davon. Funktioniert das?

files=[("attachment", request.files.data.file)], 
+0

Es wurde gesendet! Danke, Ron –

Verwandte Themen