На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Как отправлять файлы на сайт, через NMHTTP? Или есть другой способ? , builder c++
      Итак есть

      1 Обчный купленый хостинг(10 уе в мес) и сайт.

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

      Раньше я их просто просил зайти в интернет и через веб форму, отправить их файлы на сервер.

      Но сейчас задача в том, чтобы было ПО клиента, которое само посылает файлы на сайт.

      FTP не подходит сразу, потому что клиенты при помощи снифера вынюхивают логин и пароль, а я не хочу давать им полный доступ к сайту. Клиенты должны просто нажать одну кнопку и все их файлы(до 100 штук, должны отправиться, можно по очереди, на сайт. Чтобы они каждый раз не заходили на сайт и не указывали имена файлов через веб форму.

      Как это лучше реализовать?

      Я использую NMHTTP метод POST, но он не хочет отправлять на сайт файлы. В чем трабл?

      Или может плюнуть на NMHTTP и использовать что то другое?
        Варианты ответа:
        1. Код в студию!
        2. Плюнь и пользуй сокеты!
        Мне нравится второй...
          Вот РНР код который стоит на странице, куда нужно файлы отправлять

          <?

          if (isset($upload))
          {

          copy($UFile, $Filename);

          }

          else

          {
          // кнопка не нажата, выводим форму

          echo "<html><head><title>Galery</title></head><body>";
          echo "<form action=upload.php method=POST enctype=multipart/form-data>";
          echo "<input type=file name=UFile>";
          echo "Имя файла на сервере <input type=text name=Filename>";
          echo "<input type=submit name=upload value=Загрузить>";
          echo "</form></body></html>";

          }

          ?>
            Цитата zolotoy @
            но он не хочет отправлять на сайт файлы. В чем трабл?
            Пороть по субботам - может захочет?
            Надо разобраться, кто именно не хочет - клиент или сервер (того и пороть). Самое надежный способ отделить мух от котлет - посмотреть снифером (ех. WireShark), что собственно происходит.
              Когда эта РНР форма висит на сервере, то в ручном режиме через заход на эту страницу, файлы на сервер отправляются.

              Может кто то попробует отправить на любой из хостингов файлы через метод POST в NMHTTP ?
                В который раз уже встречаю упорное нежелание сетевых программистов использовать стандартные средства отладки сетевых приложений. Просто болезнь какая-то.
                Цитата zolotoy @
                Может кто то попробует отправить на любой из хостингов файлы через метод POST в NMHTTP
                Так попробуй сам - только с использованием сниффера и сравни его показания с "ручным режимом".
                  Может ли кто нибудь показать КОД как отправлять файлы методом POST используя NMHTTP ?
                      Adil

                      Переискал весь интернет. Есть куча инфа, как просто отправлять значения переменных, но как отправлять ФАЙЛЫ информации нигде нет.
                        Цитата zolotoy @
                        Переискал весь интернет. Есть куча инфа, как просто отправлять значения переменных, но как отправлять ФАЙЛЫ информации нигде нет.
                        Плохо искал или нагло врёшь. >:( В 6-ом результате поиска:
                        Цитата
                        Insert the following code into Button5's OnClick event:

                        ExpandedWrap disabled
                          void __fastcall TForm1::Button5Click(TObject *Sender)
                          {
                           if (OpenDialog1->Execute())
                             {
                               NMHTTP1->OutputFileMode = TRUE;
                               NMHTTP1->Put(Edit1->Text, OpenDialog1->FileName);
                               NMHTTP1->OutputFileMode = FALSE;
                             }
                          }


                        When Button5 is clicked, OpenDialog1 prompts for a file. If a file is selected,
                        the OutputFileMode property is set to TRUE, so that the data to be put will
                        be read from the file specified. The Put method is used to store the file at
                        the address specified by Edit1. When the file is put, the OutputFileMode
                        property is returned to FALSE.
                        Причём, насколько я понял, это из билдеровской справки по NMHTTP.
                          Adil

                          Я спрашивал насчет метода POST.

                          А вы мне приводите метод PUT. Отправка методом PUT сейчас практически везде на серверах ЗАКРЫТА, поскольку используется для взлома сайтов. А вот метод POST разрешен везде.

                          Врать я не умею, в МГИМО не научили. :)
                            Да забейте тогда на эти компоненты, как уже Алексей Л. советовал, и используйте стандартные socket, connect, write - честное слово, оно всё только на первый взгляд кажется страшным, а на самом деле всё просто и, главное, естественно. Да еще и переносимо. Да еще 100% и на этом форуме подскажут, и в гугле код найдется.

                            Цитата zolotoy @
                            МГИМО не научили.
                            А мне казалось, что там именно этому и учат :) Что это за политик, что только правду говорит?
                              Фух наконец то разобрался.

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

                              Вручную сформировать HTTP запрос, подклеить к нему в бинарном режиме телофайла и все это послать через клиентсокет.

                              А говорят еще, что программисты не извращенцы ....... :unsure:
                              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0306 ]   [ 15 queries used ]   [ Generated: 20.05.24, 14:17 GMT ]