使用c#

时间:2015-07-02 08:41:11

标签: c# email azure

我正在尝试从AZURE发送电子邮件。我成功发送没有附件电子邮件。当我发送带附件的电子邮件时,我会在下载附件时遇到问题。

  • 当我打开该附件时,它有0个字节。我在其中找不到任何内容。当我从我的天蓝色门户网站下载时,我完全看到了内容。

对于附件我在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;
        }
    }

1 个答案:

答案 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');
}

试一试。它应该工作。