您的位置:首页 > 其它

(总结1)WinForm中文件上传服务器:WebService

2012-10-10 17:04 239 查看
方案一:WebService

资料来源:http://jingyan.baidu.com/article/b7001fe157d6b60e7382dd7f.html

简介:

WinForm都是运行在本地的,而我们的网站一般都是布署在服务器上,运行在服务器上的,所以在网站上面上传文件,就好似于保存文件到本地。但在WinForm上就不一样了,本章我们简单举一个在WinForm利用WebService上传文件到服务器的方法。

步骤一:

首先们先创建一个WebService服务,该服务包含一个UpdateFile方法,该方法接收两个byte[]与string类型参数。

该方法非常简单,就是按照string参数指定的路径和名称将byte[]参数值保存到服务器,代码如下:

[WebMethod(Description = "上传文件")]

[Erp7Extension(Compress =true)]

[SoapHeader("header")]

public void UploadFiles(string userID, string fileName, byte[] file)

{

int rst=WsUploadFile(userID, fileName, file);

}

/// <summary>

///

/// </summary>

/// <param name="userId"></param>

/// <param name="fileName">D:\Temp\xx.后缀名</param>

/// <param name="fileContent"></param>

/// <returns></returns>

[WebMethod]

private int WsUploadFile(string userId, string fileName, byte[] fileContent)

{

try

{
//要上传到webservice发布的服务器的D盘中Temp文件夹,且上传之后的文件名参数fileName

string filePath = @"D:\Temp\" + fileName;
//方式1:

StreamWriter sw = new StreamWriter(filePath);

sw.Write(fileContent);

sw.Close();

//方式2:

File.WriteAllBytes(filePath, fileContent);

return 1;

}

catch

{

return 0;

}

}
步骤一:

WinForm调用,代码如下:

/// <summary>

/// WebService上传

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void simpleButton2_Click(object sender, EventArgs e)

{

string iniPath = DataConvert.ToString(btnOpenDialog.EditValue);

if (iniPath.Length == 0)

{

XtraMessageBox.Show("请选择要上传的文件!");

return;

}

// 要上传的文件

FileStream file = new FileStream(iniPath, FileMode.Open, FileAccess.Read);

byte[] bytes = new byte[file.Length];

//读取文件保存到字节流对象

file.Read(bytes, 0, bytes.Length);

string userID=“admin”;

string fileNewName = "Ws_Ys.rar";

IFtmBasFiles ftmBasfiles = FtmBasFilesFactory.Owner.Create();

ftmBasfiles.UploadFiles(userID, fileNewName, bytes);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: