Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Альтернатива file.PostedFile.SaveAs / 14 сообщений из 14, страница 1 из 1
27.02.2006, 15:56
    #33568320
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Всё та же проблема. Клиент выбирает файл на своём PC. На submit я делаю проверку размера файла и должен записать его на сервер. В обычной жизни используется file.PostedFile.SaveAs(), где file - объкет типа HtmlInputButton, однако я не могу использовать это конструкцию, так как контрол HtmlInputFile создаётся динамически и тут же удаляется. В итоге у меня есть только локальный путь к файду на клиенте. Вот теперь вопрос - как можно клиентский файл записать на сервер, не имея самого контрола, а соответственно значит что я лишен возможности использовать PostedFile.SaveAs()? Спасибо!
...
Рейтинг: 0 / 0
27.02.2006, 16:45
    #33568516
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
локальный путь ни чего не дает. сами подумайте, что получится, если любой инет пользоватль сможет пошариться на вашем компе, и
скачать все что душе угодно...
> не могу использовать это конструкцию, так как контрол HtmlInputFile создаётся динамически и тут же удаляется
можно поподробнее?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.02.2006, 17:05
    #33568593
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Примерно так как описано тут
где я передаю значение HtmlInputFile в TextBox.
...
Рейтинг: 0 / 0
27.02.2006, 17:11
    #33568613
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Вероятно, нашёл, что искал...
...
Рейтинг: 0 / 0
27.02.2006, 17:43
    #33568738
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Да, судя по всему, вы правы - должен признать своё поражение...
...
Рейтинг: 0 / 0
28.02.2006, 14:51
    #33570988
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
И всё-таки удалось :)
...
Рейтинг: 0 / 0
28.02.2006, 15:57
    #33571286
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
удалось что? если не секрет :)


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.02.2006, 16:09
    #33571336
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Удалось сделать так, чтобы в текстовом поле всегда можно было лицезреть путь и имя выбранного файла, а кнопкой Browse... выбирать жтот файл на клиенте.
...
Рейтинг: 0 / 0
28.02.2006, 16:19
    #33571388
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
в общем как это сделано понятно, только фраза у меня есть только локальный путь к файду на клиенте не является верной.
и надо понимать, что между постами вы за собой этот фаил такскаете.. что далеко не всегда разумно

если я не прав, переубедите меня


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.02.2006, 17:02
    #33571535
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Нет, файл не таскается никуда. Работаю просто с путём и именем файла. Если юзер подгружает файл, отличный от оригинала, то просто сравниваю с предыдущим и соответственно действую.
...
Рейтинг: 0 / 0
28.02.2006, 19:09
    #33571933
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
хм.. то ли мы о разных вещах говорим, то ли вы что-то не договариваете...

можно посмотреть кода кусок?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.03.2006, 00:22
    #33572244
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Да кода кусок трудновато выдрать было бы. А смысл таков: имеется контрол HtmlInputFile. Его текстовая часть делается невидимой, но она несёт в себе объект PostedFile, без которого никуда.

Ну а его кнопка Browse... остаётся видимой, поскольку, чтобы получить PostedFile юзер обязан сам нажать (не программный вызов onclick) на эту кнопку, чтобы PostedFile остался доступным и его значение не скидывалось в null. Теперь слева от этого контрола создаём TextBox контрол, в который при нажатии кнопки Browse... происходит запись пути файла с клиентской машины из контрола HtmlInputFile.

При этом юзер видит лишь TextBox и кнопку Broswe..., т.е. получившийся композитный контрол с виду почти не отличим от родного HtmlInputFile, однако теперь мы можем записывать клиентский путь файла в этот TextBox, в то время как значение value контрола HtmlInputFile имеет лишь свойство Get, но нет свойства Set.

Поскольку файл нам каждый раз загружать с клиента не надо, то просто сравниваем значения TextBox и HtmlInputFile. Если они разные, значит надо закачать новый файл. Если же значение HtmlInputFile пусто, то нам и ничего не требуется предпринимать.

Логика примерно такая. Главное, что задача выполнена и при постбеках сохраняется путь файла, а посколько PostedFile.SaveAs() используется лишь при постбеке, то и файл оказывается подгруженным на сервер.

Немного кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
TextBox txt = new TextBox();
txt.ID = "txt_1";

HtmlInputFile file = new HtmlInputFile();
file.ID = "file_1";
file.Size =  1 ;
file.Style.Add("WIDTH", "0px");
file.Style.Add("BORDER-RIGHT-STYLE", "none");
file.Style.Add("BORDER-LEFT-STYLE", "none");
file.Attributes.Add("onchange", "document.getElementById('" + txt.ID + "').value = document.getElementById('" + file.ID + "').value;");
...
Рейтинг: 0 / 0
01.03.2006, 19:17
    #33575119
Альтернатива file.PostedFile.SaveAs
Похожий вопрос про "альтернативу file.PostedFile.SaveAs"

Правильно ли я поняла из этого обсуждения, что нет никакой возможности закачать файл, изначально имея в своем распоряжении только его адрес (в строке)?
...
Рейтинг: 0 / 0
01.03.2006, 19:49
    #33575166
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива file.PostedFile.SaveAs
Облазив кучу источников и потретив несколько дней на поиск ответа на этот вопрос, дожен сказать, что нет.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Альтернатива file.PostedFile.SaveAs / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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