我创建了一个Logic应用程序,我从Gmail帐户收到电子邮件,我想将电子邮件的附件发布到我的其余API。但我不明白我作为附件得到哪种类型。我已经看到:如果我使用Outlook.com触发器,我会得到一个base64String,但是从Gmail我得到了别的东西。 是否有使用Gmail附件的示例。
答案 0 :(得分:2)
在我的终端中,我这样做:
public async System.Threading.Tasks.Task<MissionOutputDto> CreateMissionFromMail(HttpRequestMessage req)
{
string body = await req.Content.ReadAsStringAsync();
dynamic fileData = JObject.Parse(body);
string email = fileData.email;
JArray files = fileData.files;
string fileString = null;
string fileName = null;
string mimeType = null;
foreach (dynamic file in files)
{
fileString = file.ContentBytes;
fileName = file.Name;
mimeType = file.ContentType;
}
答案 1 :(得分:1)
我必须举一个例子来告诉你如何获得gmail附件
1)接收电子邮件触发器:
2)获取电子邮件详情:
3)在HTTP请求中传递附件详细信息 Step 3 details
[
{
"Name": "test (2).txt",
"ContentBytes": "dGVzdA==",
"ContentType": "text/plain; charset=\"US-ASCII\"; name=\"test (2).txt\"",
"ContentId": "",
"Size": 4
},
{
"Name": "test (2) - Copy.txt",
"ContentBytes": "dGVzdA==",
"ContentType": "text/plain; charset=\"US-ASCII\"; name=\"test (2) - Copy.txt\"",
"ContentId": "",
"Size": 4
}
]
&#34; contentbyte&#34; :是base64Strig
WebAPI更改:
您已再创建一个类来检索此附件数据
public class GmailAttechment
{
public string FileName { get; set; }
public string ContentBytes { get; set; }
public string ContentType { get; set; }
public string ContentId { get; set; }
public int Size { get; set; }
}
此课程用于从您的请求中检索附件详细信息
将上述类添加到您的webapi请求参数
中公共类GetEmailDetails { 公共字符串文件{get;组; }
public string fileName { get; set; }
public string from { get; set; }
public string mimeType { get; set; }
**public List<GmailAttechment> GmailAttechmentList { get; set; }**
}
public void GetGmailDetails(GetEmailDetails gmailDetails) { foreach(gmailDetails.GmailAttechmentList中的var项) { //在这里你可以获得所有文件内容 string base6String = item.ContentBytes; } }