Excel 通过发送网格附件 C# 发送的文件已损坏
Excel file send through Send grid attachment C# is corrupted
我正在使用 sendgrid 发送带附件的邮件。但似乎 excel 文件在邮件中已损坏。这是我使用的代码
byte[] byteData = System.Text.Encoding.ASCII.GetBytes(File.ReadAllText(@"fullpath\test.xlsx"));
msg.Attachments = new List<SendGrid.Helpers.Mail.Attachment>
{
new SendGrid.Helpers.Mail.Attachment
{
Content = Convert.ToBase64String(byteData),
Filename = "test.xlsx",
Type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
Disposition = "attachment"
}
};
打开 excel 文件时,我收到一个弹出窗口“我们发现内容有问题...如果您信任,请单击“是”。如果是,Excel 无法打开此文件文件。任何人都可以帮我解决这个问题
#发送网格
试试下面
msg.AddAttachment("test.xlsx"); // Physical file path
确保文件路径相关
或者您也尝试使用字节,
var bytes = File.ReadAllBytes(filePath);
var file = Convert.ToBase64String(bytes);
msg.AddAttachment("Name.xls", file);
此处为 Twilio SendGrid 开发人员布道师。
我认为问题可能是您通过将文件作为文本读取然后通过 ASCII 编码将该文本转换为字节来获取字节数据。最初只 read the file as bytes 可能会更好。
尝试:
byte[] byteData = File.ReadAllBytes(@"fullpath\test.xlsx");
msg.Attachments = new List<SendGrid.Helpers.Mail.Attachment>
{
new SendGrid.Helpers.Mail.Attachment
{
Content = Convert.ToBase64String(byteData),
Filename = "test.xlsx",
Type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
Disposition = "attachment"
}
};
我正在使用 sendgrid 发送带附件的邮件。但似乎 excel 文件在邮件中已损坏。这是我使用的代码
byte[] byteData = System.Text.Encoding.ASCII.GetBytes(File.ReadAllText(@"fullpath\test.xlsx"));
msg.Attachments = new List<SendGrid.Helpers.Mail.Attachment>
{
new SendGrid.Helpers.Mail.Attachment
{
Content = Convert.ToBase64String(byteData),
Filename = "test.xlsx",
Type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
Disposition = "attachment"
}
};
打开 excel 文件时,我收到一个弹出窗口“我们发现内容有问题...如果您信任,请单击“是”。如果是,Excel 无法打开此文件文件。任何人都可以帮我解决这个问题 #发送网格
试试下面
msg.AddAttachment("test.xlsx"); // Physical file path
确保文件路径相关
或者您也尝试使用字节,
var bytes = File.ReadAllBytes(filePath);
var file = Convert.ToBase64String(bytes);
msg.AddAttachment("Name.xls", file);
此处为 Twilio SendGrid 开发人员布道师。
我认为问题可能是您通过将文件作为文本读取然后通过 ASCII 编码将该文本转换为字节来获取字节数据。最初只 read the file as bytes 可能会更好。
尝试:
byte[] byteData = File.ReadAllBytes(@"fullpath\test.xlsx");
msg.Attachments = new List<SendGrid.Helpers.Mail.Attachment>
{
new SendGrid.Helpers.Mail.Attachment
{
Content = Convert.ToBase64String(byteData),
Filename = "test.xlsx",
Type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
Disposition = "attachment"
}
};