Announcement

Collapse
No announcement yet.

Attachments speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Attachments speichern

    Hi,

    ich habe da ein Problem mit dem Speichern von Mails und Attachment.
    Also man kann ja unter ASP.Net mit z.B.:

    Dim smtpMessage As MailMessage
    smtpMessage.Attachments.Add(myAttachment)

    etwas an Mail anhängen und abschicken. Meine Frage ist, wie kann
    man jetzt die Attachments von den ankommenden Mails(oder auch die
    Mail selbst) speichern und zwar lokal auf dem Rechner. Ist das möglich?

    Für jede Hilfe bin ich dankbar.

    MfG

  • #2
    Local auf dem Server oder Clientrechner? Für den Client-rechner würde ich etwas ähnliches wie bei GMX realisieren.

    Comment


    • #3
      Hi,

      danke für deine Antwort.
      Das soll local auf dem Clientrechner sein. Das wäre auch schön. Die Frage ist, wie mach ich das?

      Gruß

      Comment


      • #4
        ASP.NET ist eine Serverseitige Technik. Du mußt den User ähnlich wie bei gmx oder diversen Downloadportalen einen Download initieren.

        Comment


        • #5
          Hi,

          ja gut. Das ist doch klar. Wie mach ich das???
          Wie kann man einen Anhang, der in der Mail verankert ist zum Download
          anbieten? Die Mails sind im Mailservr irgendwo auf der Fesplatte.


          Gruß

          Comment


          • #6
            Hallo,

            Wie kann man einen Anhang, der in der Mail verankert ist zum Download anbieten?
            Der Dateiinhalt muss zuerst abgeholt und in einer MemoryStream-Instanz gespeichert ewrden. Bei dem folgenden Beispiel wird der binäre Dateiinhalt in einer BLOb-Spalte der Datenbank gespeichert. Wenn im Response-Header das Attribut Content-Disposition untergebracht wird und auch die ContentType-Eigenschaft gesetzt wird, zeigt der Browser automatisch den Speichern unter-Dialog an:

            Code:
            using (DAL aDAL = new DAL())
            {
               aDAL.sqlConnection.Open();
               try
               {
                  byte[] aBuffer = new byte[0];
                  System.IO.MemoryStream aMS = new System.IO.MemoryStream();
                  aBuffer = aDAL.GetBLObById(blob_id);
                  aMS.Write(aBuffer, 0, aBuffer.Length);
                  this.Response.AddHeader("Content-Disposition", "attachment; filename=test.dat");
                  this.Response.AddHeader("Content-Length", aBuffer.Length.ToString());
                  this.Response.ContentType = "application/octet-stream";
                  aMS.WriteTo(this.Response.OutputStream); 
               }
               finally
               {
                  aDAL.sqlConnection.Close();
               }
            }

            Comment

            Working...
            X