Попытка использовать цикл For Loop для получения нескольких файлов из элемента управления выгрузкой файлов, чтобы прикрепить файлы к электронной почте.

0

Что здесь происходит, так это то, что я могу создавать циклы и получать файлы. Проблема заключается в том, что у меня есть 2 файла, которые я создал из asp.net/jquery множественного управления загрузкой, он захватывает первое вложение 3 раза, а затем второе вложение не доступно для просмотра. Таким образом, файлы создаются дважды в области вложения в Outlook. Вот мой код:

        HttpFileCollection fileCollection = Request.Files;
        for (int i = 0; i < fileCollection.Count; i++)
        {
            HttpPostedFile uploadfile = fileCollection[i];
            string strFileName = Path.GetFileName(uploadfile.FileName);
            Attachment attachFile = new Attachment(multipleFile.PostedFile.InputStream,      strFileName);
            mailmessage.Attachments.Add(attachFile);

                //uploadfile.SaveAs(Server.MapPath("~/Photos/") + strFileName);
                mailmessage.Attachments.Add(attachFile);
                lblMessage.Text += strFileName + "   " + "Saved Successfully<br>";

        }

Я не понимаю, что происходит с моей For Loop, но для меня похоже, что она должна работать.

  • 0
    Похоже , что вы должны использовать свойство uploadFile , а не multipleFile.PostedFile.InputStream получить каждый содержимое файла , в свою очередь (я предполагаю , что поток будет содержать все загруженные файлы - не только один вы заинтересованы в) - но Я собираюсь пойти проверить, не вижу ли я себя дураком ...
  • 0
    Мой код вам не поможет - я выкладываю каждый файл по одному и использую HttpPostedFileBase в своем контроллере для записи содержимого на диск. Похоже, что они имеют multipleFile.PostedFile.InputStream файлов - так что вам нужно выяснить, как разделить этот поток в разделителе для каждого загруженного файла.
Показать ещё 4 комментария
Теги:

1 ответ

1

используйте поток на объекте uploadfile - и удалите один из вызовов mailmessage.Attachments.Add(): -

HttpFileCollection fileCollection = Request.Files;
for (int i = 0; i < fileCollection.Count; i++)
{
    HttpPostedFile uploadfile = fileCollection[i];
    string strFileName = Path.GetFileName(uploadfile.FileName);
    Attachment attachFile = new Attachment(uploadfile.InputStream, strFileName);

    //uploadfile.SaveAs(Server.MapPath("~/Photos/") + strFileName);
    mailmessage.Attachments.Add(attachFile);
    lblMessage.Text += strFileName + "   " + "Saved Successfully<br>";
}
  • 1
    Понял. Спасибо. Сейчас работает отлично.
  • 0
    Рад слышать. Это всегда хорошая идея, чтобы «принять» (отметьте галочкой) ответ, который решает вашу проблему, чтобы другие пользователи не тратили время на решение проблемы, которая уже была устранена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню