我正在尝试从AZURE发送电子邮件。我成功发送没有附件电子邮件。当我发送带附件的电子邮件时,我会在下载附件时遇到问题。
对于附件我在blob上传PDF文件并下载然后添加附件。我的代码如下。
var account = new CloudStorageAccount(new StorageCredentials("accountName", "keyvalue"), true);
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container =blobClient.GetContainerReference("containername");
CloudBlockBlob blobread = container.GetBlockBlobReference(Session["UploadPDFFile"].ToString());
MemoryStream msRead = new MemoryStream();
using (msRead)
{
msRead.Position = 0;
blobread.DownloadToStream(msRead);
objMailMessgae.Attachments.Add(new System.Net.Mail.Attachment(msRead, Session["UploadPDFFile"].ToString(), "pdf/application"));
try
{
objSmtpClient.Send(objMailMessgae);
}
catch (Exception ex) {
string s = ex.Message;
}
}
答案 0 :(得分:2)
在将blob的内容读入其中后,您需要将内存流的位置重置为created_at
。基本上你的代码就是:
public function storeKelas5()
{
$nilai = new Nilai;
$nilai->siswa_id = Input::get('siswa_id');
$nilai->input1 = Input::get('input1');
$nilai->input2 = Input::get('input2');
$nilai->input3 = Input::get('input3');
$nilai->input4 = Input::get('input4');
$nilai->input5 = Input::get('input5');
$nilai->input6 = Input::get('input6');
$nilai->input7 = Input::get('input7');
$nilai->input8 = Input::get('input8');
$nilai->input9 = Input::get('input9');
$nilai->input10 = Input::get('input10');
$nilai->input11 = Input::get('input11');
$nilai->input12 = Input::get('input12');
$nilai->input13 = Input::get('input13');
$nilai->input14 = Input::get('input14');
$nilai->save();
return redirect()->route('app.nilai.index');
}
试一试。它应该工作。