Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Приветствую! Собственно основной вопрос в теме. Как??? Требуется с клиента сделать upload папки с содержимым на сервер в одну папку без сохранения структуры папок. Причем надо знать исходную структуру папок, которая затем будет храниться на SQL-сервере Разумеется, сначала поискал и здесь и на гугле. Результат неутешительный. Вот что янарыл. Поправте меня, если я не прав: 1. Это сделать стандартными средствами НЕВОЗМОЖНО! 2. Есть только 2 варианта: a) использовать ActiveX или Java applet на клиенте, с их помощью можно получить доступ к файловой системе клиента и сделать upload, соответственно требуется разрешение на установку на клиенте b) сжать папку с содержимым в один файл и разжать на сервере, НО как получить доступ к файловой системе клиента, чтобы сохранить структуру папок на SQL-сервере? Все равно потребуется ActiveX? 3. Есть ли еще способ? Может с помощью web services, не представляю как. Или своих web server control? Хотя сомневаюсь. Если все так, помогите, не дайте пропасть :) Никогда не писал ActiveX (на чем их хоть пишут в VS.Net 2003. только на С++?). Может есть пример, бесплатные коды? Заранее спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 12:57 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
вы совершенно правы! могу посоветовать использовать компоненты от 3их разработчиков, например от http://persits.com/ - - - - - the truth is out there ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 17:51 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Dima_XY3, Вы писали: D_X>вы совершенно правы! D_X>могу посоветовать использовать компоненты от 3их разработчиков, например от http://persits.com/ Большое спасибо за ссылку, очень интересно. Только ведь они продают без исходников :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 18:28 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Dima_XY3, Вы писали: D_X>вы совершенно правы! D_X>могу посоветовать использовать компоненты от 3их разработчиков, например от http://persits.com/ D_X> данное сообщение получено с www.gotdotnet.ru D_X>ссылка на оригинальное сообщение А я могу посоветовать вообще отказаться от такой идеи. Надеяться на то что у активХ всегда будет доступ к диску помойму недальновидно. Хотя если пользователи автора, доверяют автору.. ;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2006, 20:07 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Valid777, Вы писали: V>1. Это сделать стандартными средствами НЕВОЗМОЖНО! Если под "стандартными средствами" имеется в виду "голый браузер" то да — невозможно V>2. Есть только 2 варианта: V> a) использовать ActiveX или Java applet на клиенте, с их помощью можно получить доступ к файловой системе клиента и сделать upload, соответственно требуется разрешение на установку на клиенте Ага и разрешение доступаться к файловой системе. Резко уменьшает шансы на успех. V> b) сжать папку с содержимым в один файл и разжать на сервере, НО как получить доступ к файловой системе клиента, чтобы сохранить структуру папок на SQL-сервере? Все равно потребуется ActiveX? Не надо никакого ActiveX. Проще всего рассчитывай на то, что пользователь сделает стандартное Send to compressed(zipped) folder. Или аналогичным образом создаст зип сторонними утилитами. В .zip есть вся структура. Научись читать zip файлы, и будет тебе щасте. V>3. Есть ли еще способ? Может с помощью web services, не представляю как. Или своих web server control? Хотя сомневаюсь. Есть еще несколько способов, работающих под виндой не древнее XP. 1.1.4 stable rev. 510 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 10:34 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Mike Chaliy, Вы писали: MC>Здравствуйте, Dima_XY3, Вы писали: D_X>>вы совершенно правы! D_X>>могу посоветовать использовать компоненты от 3их разработчиков, например от http://persits.com/ D_X>> данное сообщение получено с www.gotdotnet.ru D_X>>ссылка на оригинальное сообщение MC>А я могу посоветовать вообще отказаться от такой идеи. Надеяться на то что у активХ всегда будет доступ к диску помойму недальновидно. Хотя если пользователи автора, доверяют автору.. ;). К сожалению, отказаться нельзя :( Предполагается, что пользователи безоговорочно доверяют автору и дадут разрешение на доступ к диску. НО! Доверяю ли я авторам этого ActiveX? Исходники они не дают :( Поэтому и хотелось бы увидеть как это пишется. Ну не верю! Неужели никто, никогда не сталкивался с подобной проблемой и не писал ActiveX для этой цели? Или это настолько сложно? Продают их, надо сказать, недешево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 12:38 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Sinclair, Вы писали: S>Здравствуйте, Valid777, Вы писали: V>>1. Это сделать стандартными средствами НЕВОЗМОЖНО! S>Если под "стандартными средствами" имеется в виду "голый браузер" то да — невозможно V>>2. Есть только 2 варианта: V>> a) использовать ActiveX или Java applet на клиенте, с их помощью можно получить доступ к файловой системе клиента и сделать upload, соответственно требуется разрешение на установку на клиенте S>Ага и разрешение доступаться к файловой системе. Резко уменьшает шансы на успех. V>> b) сжать папку с содержимым в один файл и разжать на сервере, НО как получить доступ к файловой системе клиента, чтобы сохранить структуру папок на SQL-сервере? Все равно потребуется ActiveX? S>Не надо никакого ActiveX. Проще всего рассчитывай на то, что пользователь сделает стандартное Send to compressed(zipped) folder. Или аналогичным образом создаст зип сторонними утилитами. В .zip есть вся структура. Научись читать zip файлы, и будет тебе щасте. V>>3. Есть ли еще способ? Может с помощью web services, не представляю как. Или своих web server control? Хотя сомневаюсь. S>Есть еще несколько способов, работающих под виндой не древнее XP. Заинтриговали :) Что за способы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 12:40 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Например, так. <html xmlns="http://www.w3.org/1999/xhtml" > <head> <script language="javascript"> function doit() { var stream = new ActiveXObject("adodb.stream"); stream.Type = 1; stream.Open(); stream.LoadFromFile("c:\\temp\\1.txt"); var req = new ActiveXObject("msxml2.serverxmlhttp.6.0"); req.open("POST", "http://microsoft.com", false); req.send(stream); alert("sent " + stream.Position + " bytes"); } </script> </head> <body> <input type="button" value="test" onclick="doit()" /> </body> </html> Домен должен быть в зоне Надежные узлы. 6.0 может быть 3.0, 4.0, 5.0 в зависимости от версии ОС/SP. Т.е. не надо писать дополнительные ActiveX - все уже написано и установлено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 13:10 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, mclabman, Вы писали: M>Например, так. M><html xmlns="http://www.w3.org/1999/xhtml" > M><head> M> <script language="javascript"> M> function doit() M> { M> var stream = new ActiveXObject("adodb.stream"); M> stream.Type = 1; M> stream.Open(); M> stream.LoadFromFile("c:\\temp\\1.txt"); M> var req = new ActiveXObject("msxml2.serverxmlhttp.6.0"); M> req.open("POST", "http://microsoft.com", false); M> req.send(stream); M> alert("sent " + stream.Position + " bytes"); M> } M> </script> M></head> M><body> M><input type="button" value="test" onclick="doit()" /> M></body> M></html> M>Домен должен быть в зоне Надежные узлы. M>6.0 может быть 3.0, 4.0, 5.0 в зависимости от версии ОС/SP. M>Т.е. не надо писать дополнительные ActiveX — все уже написано и установлено. M> данное сообщение получено с www.gotdotnet.ru M>ссылка на оригинальное сообщение Спасибо за пример, будем изучать. А как получить доступ к файловой системе (т.е. прочесть структуру папок для upload) Вот так? new ActiveXObject( 'Scripting.FileSystemObject' ) или что-то подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 13:27 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Правильно догадался. Проблема возникнет, когда потребуется предложить пользователю выбрать папку. Ищи BrowseForFolder. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2006, 14:50 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, mclabman, Вы писали: M>Правильно догадался. M>Проблема возникнет, когда потребуется предложить пользователю выбрать папку. Ищи BrowseForFolder. В ябочко :) пока все это дело изучал, еще не прочел последнее сообщение и именно в эту проблему и уперся :???: Еще раз спасибо за новую наводку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 00:34 |
|
||
|
Folder upload
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, mclabman, Вы писали: M>Правильно догадался. M>Проблема возникнет, когда потребуется предложить пользователю выбрать папку. Ищи BrowseForFolder. Не все так гладко :( При попытке использовать BrowseForFolder — возникает ошибка permission denied, помещение в trust sites не помогает. Можно использовать только как hta-файл, НО тогда опять проблема как из hta передать в aspx структуру папок с файлами (возможно, достаточно большую)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 14:41 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33926455&tid=1390469]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 407ms |

| 0 / 0 |
