Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# Sendmail - Attachments / 25 сообщений из 35, страница 1 из 2
02.08.2013, 13:38
    #38352892
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Добрый день, уважаемые коллеги!

Нужно реализовать загрузку вложения от 1 до 10 файлов с ограничениями по мб и нельзя было загрузить указный формат. Например (exe).

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 private void btnAdd_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    string[] arr = openFileDialog1.FileNames;
                    alAttachments = new ArrayList();
                    txtAttachments.Text = string.Empty;
                    alAttachments.AddRange(arr);

                    foreach (string s in alAttachments)
                    {
                        txtAttachments.Text += s + "; ";
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error");
                }
            }
        }
...
Рейтинг: 0 / 0
02.08.2013, 13:49
    #38352914
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591,

в чем вопрос? Сколько это будет стоить?
...
Рейтинг: 0 / 0
02.08.2013, 13:52
    #38352926
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris, а подсказать не вариант хотя бы. Ошибку исправить.

Сейчас добавляется 1 файл, не могу найти ошибку. Массив создан.
...
Рейтинг: 0 / 0
02.08.2013, 13:52
    #38352929
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591, в чем именно сложность? FileInfo.Length позволит определить размер файла, Path.GetExtension его расширение. Подсчитать кол-во выбранных файлов труда не составит.

Вместо ArrayList лучше использовать List<string>.
...
Рейтинг: 0 / 0
02.08.2013, 13:56
    #38352942
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
bazile,

У меня в тексбокс падает один файл, при новой загрузки поле очищается. И файл только один отправляется на почту.
...
Рейтинг: 0 / 0
02.08.2013, 13:57
    #38352946
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
ну а где код, где сам аттачмент цепляется? Где ошибку-то искать?
...
Рейтинг: 0 / 0
02.08.2013, 14:01
    #38352952
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
У меня твой код работает норм.

Мультиселект=true у диалога поставил?
...
Рейтинг: 0 / 0
02.08.2013, 14:05
    #38352963
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris,
да стоит, вот только грузит один файл. Несколько вообще не хочет.
А как еще в тексбок помещать только имя файл.

Знаю что вот так можно
Код: c#
1.
txtAttachments.Text = Path.GetFileName(openFileDialog1.FileNames)

Но а как это в массиве сделать?
...
Рейтинг: 0 / 0
02.08.2013, 14:09
    #38352978
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591Pallaris,
да стоит, вот только грузит один файл. Несколько вообще не хочет.
А как еще в тексбок помещать только имя файл.

Знаю что вот так можно
Код: c#
1.
txtAttachments.Text = Path.GetFileName(openFileDialog1.FileNames)

Но а как это в массиве сделать?

Я говорю - твой код у меня работает норм, в текст бокс добавляются все имена файлов, которые я выбрал в диалоге
...
Рейтинг: 0 / 0
02.08.2013, 14:10
    #38352982
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris, сейчас разберусь с этим.

А как убрать с тексбокса путь файла оставить только имя файла ?
...
Рейтинг: 0 / 0
02.08.2013, 14:13
    #38352988
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591,

обрезать строку по последнему слэшу?
...
Рейтинг: 0 / 0
02.08.2013, 14:14
    #38352992
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris, да
...
Рейтинг: 0 / 0
02.08.2013, 14:15
    #38352994
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591,

Это было руководство к действию :)
...
Рейтинг: 0 / 0
02.08.2013, 14:16
    #38352996
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591А как убрать с тексбокса путь файла оставить только имя файла ?
Добавь Path.GetFileName в цикле где ты его заполняешь

Pallarisобрезать строку по последнему слэшу?
Не надо такие советы давать. Для манипуляции путями есть класс Path и именно его и нужно использовать.
...
Рейтинг: 0 / 0
02.08.2013, 14:17
    #38353002
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
bazileНе надо такие советы давать. Для манипуляции путями есть класс Path и именно его и нужно использовать.

Ок, сори.
...
Рейтинг: 0 / 0
02.08.2013, 14:20
    #38353010
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591У меня в тексбокс падает один файл, при новой загрузки поле очищается. И файл только один отправляется на почту.
У меня добавляется несколько. И в коде отправки почты видно что добавляются три аттачмента. Смотри отладчиком что не так у тебя.
...
Рейтинг: 0 / 0
02.08.2013, 14:23
    #38353019
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
bazile,

Я так и добавлял только не пойму, почему он ругается.

Может я что то не так понял.

Вот так писал:

Код: c#
1.
string[] arr = Path.GetFileName(openFileDialog1.FileNames);
...
Рейтинг: 0 / 0
02.08.2013, 14:28
    #38353029
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591, Path.GetFileName() принмает на входе строку, а ты передаешь массив.

Примерно так нужно:
Код: c#
1.
2.
3.
4.
foreach (string fullPath in openFileDialog1.FileNames)
{
	txtAttachments.Text += Path.GetFileName(fullPath) + "; ";
}
...
Рейтинг: 0 / 0
02.08.2013, 14:44
    #38353070
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
bazile,

С этим разобрался, спасибо.

Но как не пойму у вас работает несколько файлов брать, а у меня нет. Странно... (==ТУПИК==)
...
Рейтинг: 0 / 0
02.08.2013, 14:46
    #38353077
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591,

В дебагере что содержит массив openFileDialog1.FileNames?

Может у тебя на экране текстбокс размером ровно в один файл нэйм, вот тебе и кажется, что туда только один попадает?
...
Рейтинг: 0 / 0
02.08.2013, 14:48
    #38353083
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris,


авторВ дебагере что содержит массив openFileDialog1.FileNames? --- Содержит документ, когда его я выбираю.

авторМожет у тебя на экране текстбокс размером ровно в один файл нэйм, вот тебе и кажется, что туда только один попадает? нет я сейчас сократил имен, вижу только один документ в тексбоксе.
...
Рейтинг: 0 / 0
02.08.2013, 14:49
    #38353084
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591Pallaris,
авторВ дебагере что содержит массив openFileDialog1.FileNames? --- Содержит документ, когда его я выбираю.

Ну а если несколько документов выберешь?
...
Рейтинг: 0 / 0
02.08.2013, 14:54
    #38353100
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
Pallaris, принимает значение null.
...
Рейтинг: 0 / 0
02.08.2013, 14:58
    #38353110
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
wiktor591, покажи скриншот из отладчика со значением openFileDialog1.FileNames когда в диалоге было выбрано несколько файлов.
...
Рейтинг: 0 / 0
02.08.2013, 15:10
    #38353139
wiktor591
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Sendmail - Attachments
bazile,
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# Sendmail - Attachments / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]