您的位置:首页 > 编程语言 > C#

C#开发之上传图片到WebService

2012-08-27 14:56 302 查看
实例说明:

WebService的用途越来越广泛,客户端程序(交警通)需要将日常上报问题上传到Web服务端,上报问题中可以包含图片,但是图片文件的上传占用资源较多,所以单独开辟一个WebMethod方法供多媒体上传下载使用。

[WebMethod]
public string UploadMedia(string functionName, byte[] bs) {

string s = "2";
try {
Tools tt = new Tools();
s = tt.SaveMedia(functionName, bs);
if("1".Equals(s)) {

s = "0";//一行数据更新表示保存成功
} else {
s = "1";
}

} catch(Exception e) {

Console.WriteLine(e.ToString());
}
return s;
}

代码说明:

WebMethod UploadMedia方法用来上传图片等多媒体,参数为functionName和图片字节流。多媒体文件上传后,保存到多媒体共享目录,并添加索引到数据库表。

根据操作数据库后影响的行数来判断是否上传成功,成功返回0.

/// <summary>
/// 功能:保存多媒体文件并写入数据库
/// </summary>
/// <param name="functionName">taskid01_jpg</param>
/// <param name="fileStream">多媒体文件流</param>
/// <returns>返回影响的行数</returns>
public string SaveMedia(string functionName, byte[] bs) {

string returnRow = "0";
try {
//保存多媒体文件
string[] temp = functionName.Split('_');
string id = temp[0].ToString();
string name = temp[1].ToString();
string userid = temp[0].ToString().Substring(8, 3);

string fileName = "E:\\Shares\\"+id+"."+name;
FileInfo fileInfo = new FileInfo(fileName);
if (File.Exists(fileName))
{
File.Delete(fileName);
}
if (!fileInfo.Directory.Exists) {
fileInfo.Directory.Create();
}
FileStream fs = new FileStream(fileName, FileMode.CreateNew, FileAccess.Write, FileShare.None, bs.Length, false);
fs.Write(bs, 0, bs.Length);
fs.Close();

//修改数据表
string sql = "insert  into Media (id,name,userid) values  ('"+id+"', '"+name+"', '"+userid+"' )";
GetDataFromDB getDataFromDB = new GetDataFromDB();
returnRow= getDataFromDB.UpdateServiceDatasFromTable(sql);

}catch(Exception e){

Console.WriteLine(e.ToString());
}
return returnRow;
}

代码说明:

保存多媒体文件,并添加数据到数据库表中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: