3

C# を使用して Windows モバイル アプリから Web サイトにファイルをアップロードする必要があります。反対側で Web サービスとして PHP を実行していますが、そこにファイルを取得できる別の方法があれば、実際にはそうする必要はないと思います。ただし、サーバー側の ASP サポートはありません。私の問題は実際には PHP ではなく、モバイル C# コードです。

また、System.net.WebClientはコンパクトなフレームワークには存在しないため、残念ながらその単純なソリューションはなくなりました。

これは比較的よく聞かれる質問であることはわかっていますが、答えが見つからないようです。私はこの特定の問題に解決策なしで見苦しいほどの時間を費やしてきたので、どんな助けでも大歓迎です。どうもありがとう!

4

2 に答える 2

2

MSDNの記事「HttpWebRequest とカスタム ASP.NET プロバイダーを使用した .NET Compact Framework HTTP 通信の改善」をご覧ください。これは ASP テクノロジに固有のものですが、Compact Framework は同じままです。基本的には、PUT メソッドで HttpWebRequest を使用します。サーバーで許可されていない場合は、一連の POST リクエストを自分で作成し、それに応じて処理する必要があります。

于 2008-11-20T14:40:36.423 に答える
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;
}

要件

Visual Studio.Net 2005

.Net フレームワーク 2.0

MS SQL Server 2000 データベースまたは MS SQL Server 2005 データベース。

于 2010-02-19T07:33:34.133 に答える