2008-11-20 5 views
3

Мне нужно загрузить файл с помощью C# из мобильного приложения Windows на веб-сайт. Он работает с PHP как с webservice с другой стороны, хотя я думаю, что это действительно не так, если есть другой способ получить файл там. Однако серверная поддержка ASP отсутствует. Моя проблема действительно не в PHP, это мобильный код C#.WINMOBILE загрузка файла с C# на php webservice

Также System.net.WebClient НЕ существует в компактном каркасе, к сожалению, это простое решение исчезло.

Позвольте мне извиниться заранее, потому что я знаю, что это относительно часто задаваемый вопрос, но я просто не могу найти ответ. Я потратил немало времени на эту конкретную проблему без решения, поэтому любая помощь вообще была бы весьма признательна. Большое спасибо!

+0

Это не общий вопрос. Говорить с веб-сервисом ASP.NET с C# - это торт, это сложнее. – MusiGenesis 2008-11-20 22:16:34

ответ

2

Посмотрите на эту статью Improving .NET Compact Framework HTTP Communications using HttpWebRequest and Custom ASP.NET Providers в MSDN. Он специфичен для технологии ASP, , но Compact Framework остается неизменным. В основном он использует HttpWebRequest с методом PUT. Если вам не разрешено делать это на сервере, вам необходимо создать последовательность запросов POST самостоятельно и обработать их соответствующим образом.

0

Следующий фрагмент кода может помочь решить проблему, которую мы обсуждаем здесь. Просьба проигнорировать это, если это не относится к этой теме.

Краткое описание того, как использовать статью или код. Имена классов, методы и свойства, любые трюки или подсказки.

блоки кода должны быть установлены в стиле "форматных", как это:

Пример кода

using System.Data; 
using System.Data.Sql 
using System.Data.SqlClient; 
using System.Web; 
using System.Web.Services; 

public class FileUploader: System.Web.Services.WebService { 
    SqlConnection myConnection = new SqlConnection("Data Source=server name ;Initial Catalog=database name; User ID=username; Password='password';"); 
    SqlCommand myCommand = new SqlCommand(); 
    string queryString = ""; 

public string UploadFile(byte[] f, string fileName) 
    { 
      // the byte array argument contains the content of the file 
      // the string argument contains the name and extension 
      // of the file passed in the byte array 

string nm = data[0]; 
string sn =data[1]; 
string bn =data[2]; 
string st = data[3]; 
byte img = Convert.Tobyte(img); 
myConnection.Open(); 
queryString = "INSERT INTO tablename(Name,SchemeName,BeneficiarName,Status,Photo)" 

+ "VALUES('" + nm + "','" + sn + "','"+ bn +"','" + st + "',@img,')"; 

myCommand.Parameters.AddWithValue("@img",f); 
myCommand.Connection = myConnection; 
myCommand.CommandType = CommandType.Text; myCommand.CommandText = queryString; int res = myCommand.ExecuteNonQuery(); myConnection.Close(); 

if (res > 0) 
{ 
    strres = "File Uploaded successfully"; } 

else 
{ 
    strres = "File not uploaded"; 
} 
return strres; 
} 

Требования

Визуальный Studio.Net 2005

.Net Framework 2.0

База данных MS SQL Server 2000 или MS SQL Server 2005 d atabase.

+0

Привет, SQL-инъекция! – ctacke 2012-12-29 19:02:47

 Смежные вопросы

  • Нет связанных вопросов^_^