3

我需要使用 C# 将文件从 Windows 移动应用程序上传到网站。它在另一端将 PHP 作为 web 服务运行,但我想如果有另一种方法可以将文件放在那里,它真的不必这样做。但是,没有服务器端 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;
}

要求

视觉工作室.Net 2005

.Net 框架 2.0

MS SQL Server 2000 数据库或 MS SQL Server 2005 数据库。

于 2010-02-19T07:33:34.133 回答