Лучший отвечающий
Загрузка файла с сервера

Вопрос
-
Добрый вечер. Есть программка, которая устанавливается на компьютере клиента. Вот код, который загружает файл, который должен быть установлен на компе клиента. Но это не правильно. Другими словами, что-то не получается установить путь, чтобы закачка файла происходила с сервера, тоесть с другого компа.
private void btnOpenAFS_Click(object sender, EventArgs e) { try { //Используем оболочку операционной системы для запуска процесса info.UseShellExecute = true; //Команда <Open> для открытия документа info.Verb = "Open"; //Имя открываемого документа info.FileName = cboAFSview.Text + ".pdf"; //Полное имя каталога info.WorkingDirectory = Application.StartupPath + "\\Info\\Бюллетени"; //Запускает ресурс процесса путем указания имени документа или файла приложения и //связывает ресурс с новым компонентом System.Diagnostics.Process. Process.Start(info); } catch (Exception ex) { Console.WriteLine(ex.Message); cboAFSview.BackColor = Color.Yellow; btnOpenAFS.Enabled = false; MessageBox.Show("Нет такого бюллетеня"); } tmrAFS.Enabled = true; }//btnOpenAFS_Click
8 июня 2011 г. 14:05
Ответы
-
Дай доступ к папке пользователю "ВСЕ", тогда пароль не нужно будет вводить. Или, если компьютеры в домене, то группе в которой находится пользователь с правами которого запускается программа на клиенте.
- Помечено в качестве ответа hochuznat 16 июня 2011 г. 8:31
14 июня 2011 г. 8:33Модератор
Все ответы
-
В info.FileName пишется полный путь до файла на удаленном компьютере?
Все должно быть просто, очень просто, настолько просто, насколько это возможно.8 июня 2011 г. 14:35 -
у того юзера под которым работает програмка должный быть достаточные права доступа к этому пути
Don't forget to vote for useful replies and/or mark answers for your questions - that helps other guys to find the answer faster.8 июня 2011 г. 20:09 -
Хороший ответ. Тут я понимаю рассматривается политика безопасности. Да необходимо обезопасить информацию от воровства. Я понимаю это так, что exe-файл должен быть на компе клиента, а все остальное, скажим на моем компе. Я с Вами согласен по поводу прав доступа. Но первое что меня интересует, так это написать путь к моему компу. Как? Первое что приходит в голову это таким образом - IP-адрес\C:\Documents and Settings\User\Рабочий стол. Так ли это?
Вы написали достаточно прав доступа, а что разве клиент-сервер приложение не так строиться? И если что-то не так, то буду благодарен за информацию как построить клиент-сервер.
Заранее спасибо.
9 июня 2011 г. 6:22 -
Чтобы открывать с сетевой шары, нужно указывать ее путь. Сейчас ты открываешь из подпапки относительно запускаемого файла
info.WorkingDirectory = Application.StartupPath + "\\Info\\Бюллетени";
А нужно указывать путь в сети
info.WorkingDirectory = @"\\servername\Info\Бюллетени";
9 июня 2011 г. 7:46Модератор -
Спасибо за ответ. Но что-то не допонимаю.
info.WorkingDirectory = @"\\servername\Info\Бюллетени"
В этой строке servername - это адрес через IP - 192.168.x.xx, и что дальше будет найдена нужная папка т.е. Бюллетени
Наверное я некорректно задал тему. Я имел ввиду узнать месторасположение папки на другом компьютере.
9 июня 2011 г. 11:00 -
1. Папка на сервере должна быть расшарена.
2. Перебирай все шары на сервере и выбирай, какая твоя.
Да, и WokingDirecotry я, пожалуй, махнул...
Лучше полный путь указать в пути к файлу:
info.FileName = @"\\servername\path\" + cboAFSview.Text + ".pdf";
10 июня 2011 г. 4:21Модератор -
Добрый день. Катаю шары уже полдня. Пока не закатил ни одного. Спасибо за ссылку. Решил немножко упростить себе жизнь. Написал вот это
info.FileName = @"C:\Info\Бюллетени\" + cboAFSview.Text + ".pdf";
Все это работает на моем локальном компе. Прописал вот это
info.FileName = @"\\192.168.х.хх\C:\Info\Бюллетени\" + cboAFSview.Text + ".pdf";
Скомпилировал, установил на другой комп не работает. Не видит этого пути.
10 июня 2011 г. 10:38 -
info.FileName = @"\\192.168.х.хх\C:\Info\Бюллетени\" + cboAFSview.Text + ".pdf";
Не нужно указывать "C:\"
Тебе нужно открыть на своем компе общий доступ к папке C:\Info (имя для ресурса указать Info) и полсле этого использовать info.FileName = @"\\192.168.х.хх\Info\Бюллетени\" + cboAFSview.Text + ".pdf";
Где 192.168.х.хх - IP твоего компьютера.
10 июня 2011 г. 10:56Модератор -
Все как по написанному. Даже специально открыл доступ на диске D в папку Info. На моем работает, а с другого нет. Уфффф.....
10 июня 2011 г. 11:52 -
С другого компа можно подключить сетевым диском расшареную папку?12 июня 2011 г. 9:26Модератор
-
Добрый день. Пишу чтобы не молчать. Возможная проблема в прошлом моем ответе. Доступ к папке D:\ я то предоставил, но дело в том что у меня тоже не так много прав. Папка Info у меня в общем доступе, но через логин и пароль. И я думаю в этом проблема. Если это так, то мне необходимо предоставить доступ пользователям через этот логин и пароль или как-то можно это обойти? Как быть?
Спасибо.
14 июня 2011 г. 7:44 -
Дай доступ к папке пользователю "ВСЕ", тогда пароль не нужно будет вводить. Или, если компьютеры в домене, то группе в которой находится пользователь с правами которого запускается программа на клиенте.
- Помечено в качестве ответа hochuznat 16 июня 2011 г. 8:31
14 июня 2011 г. 8:33Модератор -
Уважаемый пользователь.
Если ваша проблема решена - то, пожалуйста, отметьте те ответы, в которых содержится решение. Для этого под каждым сообщением есть кнопка 'Пометить как ответ'. Спасибо.
Для связи [mail]15 июня 2011 г. 15:06 -
"У того юзера под которым работает програмка должный быть достаточные права доступа к этому пути"
Добрый день. Извиняюсь за молчание. Проблема решилась вчера вечером. Ну к делу. У нас есть рабочая группа в несколько десятков компов. Я один из них. Мой компьютер выступает в качестве сервера для этой программы. Да при установке на другой комп программка работала, но доступ к ресурсам, типа файлы или картинки был запрещен. Почему? У меня как и других доступ к другому компу по сетевому окружению через логин и пароль. Естественно и к этой папке нет доступа, даже если ее сделать общедоступной. Другими словами через эту строку загрузка картинки или файла не получалась.
info.FileName = @"\\192.168.х.хх\Info\Бюллетени\" + cboAFSview.Text + ".pdf";
Выход из этого положения нашел следующим образом. Создал на своем компе еще одну учетную запись с правами просмотра этой папки только чтение. Папка, в данном случае Info. должна находиться в общем доступе.
Все это работает только в локальной рабочей группе, для этого и создавалась учетная запись. Естественно все это делается для того, чтобы не чистые на руку пользователи не смогли скопировать информацию. Надеюсь все это понимают. Код для загрузки картинки у меня выглядит таким образом, вот строка
picture.Image =
Image.FromFile(@"\\192.168.x.xx\Info\Картинка\" + num + ".tif"); где num - имя картинки.Остается для этой темы проблема следующая - Как загрузить картинку на компьютер, который не входит в нашу рабочую группу.
Если есть ссылки на этот вопрос, пожалуйста укажите или напишите что-нибудь.
16 июня 2011 г. 8:31