格子达为啥上传文件是空的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了格子达为啥上传文件是空的相关的知识,希望对你有一定的参考价值。

参考技术A 文件格式错误导致的失败。文件上传失败看下是否网络通畅,如果有网的情况下,文件格式错误也会导致上传失败。格子达论文检测-全球首个免费的论文相似度检测系统,提供论文查重、论文在线修改等服务。

为啥使用 Flask Mail 发送的文本附件是空的?

【中文标题】为啥使用 Flask Mail 发送的文本附件是空的?【英文标题】:Why text attachment sent using Flask Mail is empty?为什么使用 Flask Mail 发送的文本附件是空的? 【发布时间】:2016-06-04 23:53:35 【问题描述】:

我正在尝试使用带有 .txt 文件附件的 Flask-Mail 发送电子邮件。到目前为止,要么我收到错误,要么电子邮件发送但.txt。文件是空白的,我试过两种方法:

遵循文档的一种方式:

with current_app.open_resource("sample.txt") as fp:
    msg.attach("sample.txt","text/plain", fp.read())

这会导致错误:

TypeError: 'exceptions.IOError' object is not callable

我也试过不使用 open_resource 方法:

 msg.attach("sample.txt","text/plain")
    mail.send(msg)

这导致电子邮件发送但 .txt。附件是空白的。

下面的完整尝试/除外块

try: 
    msg = Message("New File",
              sender="SENDER",
              recipients=["RECIPIENT"])
    msg.body = "Hello Flask message sent from Flask-Mail"
    with current_app.open_resource("sample.txt") as fp:
        msg.attach("sample.txt","text/plain", fp.read())
    mail.send(msg)
except Exception as e:
    return e
return "file was successfully sent"

为了正确发送附件,我缺少什么?

【问题讨论】:

您的代码看起来不错,我假设您的邮件服务器配置或sample.txt 文件位置有问题。 【参考方案1】:

根据Flask-Mail documentation,这应该可以完美地做到:

with current_app.open_resource("sample.txt") as fp:
    msg.attach("sample.txt","text/plain", fp.read())
mail.send(msg)
current_app.open_resource("sample.txt")sample.txt 的位置打开文件以供读取 而msg.attach("sample.txt","text/plain", fp.read()) 使用sample.txt 作为附件名称附加它 终于mail.send(msg)发邮件了

确保您的sample.txt 文件位置正确,如果它不起作用,请通过app.config['DEBUG'] = True 启用调试并查看错误。

【讨论】:

我尝试了同样的方法,但它不起作用。问题链接 - ***.com/questions/46811429/…

以上是关于格子达为啥上传文件是空的的主要内容,如果未能解决你的问题,请参考以下文章

flask上传文件时request.files为空的解决办法

ftp 上传文件内容为空

使用Ion上传Android文件,但上传文件为空

为啥Linux中的sudoers文件用iv打开是空的?

为啥我的 $_ENV 是空的?

React JS文件上传