Отправить файл в скрипт PHP из приложения VB.NET - PullRequest
2 голосов
/ 17 января 2010

Мне нужно отправить некоторые данные с сервера БД SQL во внутренней сети на внешний веб-сервер.

Я надеялся сделать это, написав приложение VB.NET, которое вызывается один раз в день и отправляет около 1 МБ данных в сценарий PHP на веб-сервере, где они хранятся в базе данных.

Каков хороший способ отправки данных в сценарий PHP из приложения .NET?

Ответы [ 5 ]

4 голосов
/ 17 января 2010

Вы можете использовать класс HTTPWebRequest , чтобы опубликовать файл в вашем PHP-скрипте так же, как в браузере.Если файл, который вы отправляете, основан на тексте, таком как XML или CSV, можно сделать простую запись.Однако, если вам нужно отправить двоичные данные, вы можете либо закодировать их base64, а затем декодировать их на другом конце в PHP, либо опубликовать в виде файла, используя multipart form .Если у вас нет конкретной причины использовать многокомпонентные формы, это, вероятно, не стоит всех дополнительных проблем, и вам, вероятно, следует просто кодировать свои данные с помощью base64.

2 голосов
/ 17 января 2010

Веб-сервисы были бы подходящим способом, возможно, SOAP через XML для передачи данных непосредственно в PHP.

Если вы идете по пути middaparka, вы не отправляете его напрямую в PHP, а просто делаете его доступным для PHP с помощью оператора include. Если вы хотите, чтобы PHP обрабатывал данные сразу после их получения, вам, вероятно, понадобится первый вариант.

1 голос
/ 18 января 2010

Другая идея может состоять в том, чтобы выполнить запрос HTTP PUT на веб-сайт на основе PHP и передать ваши данные.

Здесь вы найдете информацию о том, как принимать контент, отправляемый через HTTP. Поместить в PHP. http://php.net/manual/en/features.file-upload.put-method.php

Смотрите здесь, как вы можете выполнить HTTP-запрос PUT из приложения .net http://www.java2s.com/Code/CSharp/Network/HTTPputwithusernameandpassword.htm

1 голос
/ 17 января 2010

Возможно, вы захотите использовать JSON или XML.

1 голос
/ 17 января 2010

Если вы ищете надежное средство, у меня возникнет соблазн использовать FTP в качестве средства передачи данных, а не HTTP - это упростит управление с точки зрения ошибок обработка и т. д., особенно если вы следуете рекомендациям, таким как загрузка файлов во временную папку, а затем перемещение (переименование в терминах FTP) их в папку раскладки после завершения загрузки.

Что касается конкретных функций и т. Д. PHP имеет широкий спектр функций, связанных с FTP ( ключевые документы здесь ). К сожалению, я не знаю о соответствующих элементах .NET Framework, но я уверен, что кто-то здесь укажет вам правильное направление, если MSDN не доставит товары.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...