使用 Mailgun 和 Bottle 发送用户上传的附件

Sending User Uploaded Attachments with Mailgun and Bottle

我正在按照 MailGun 的附加文件文档进行操作,但所有示例都已经选择了一个文件。如何发送用户上传的附件?

该代码可以很好地发送消息,但是当我添加这部分时...

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

我收到这个错误:

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

HTML表格

<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>

装瓶路线:

@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 <postmaster@sandboxe....mailgun.org>",
        "to": "Me <me@gmail.com>",
        "subject": subject,
        "html": text})
    return "<p>Success</p>"

感谢任何帮助。

request.files.data.file 已经打开;只需阅读它。这个有用吗?

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