本文实例讲述了asp.net基于Web Service实现远程上传图片的方法。分享给大家供大家参考,具体如下:
页面调用代码: 前提添加Web 引用
1
2
3
4
5
6
7
8
9
10
11
|
HttpFileCollection files = HttpContext.Current.Request.Files;
string
filePath = files[0].FileName;
string
fileName = filePath.Substring(filePath.LastIndexOf(
"//"
) + 1);
byte
[] datas =
new
byte
[files[0].ContentLength];
System.IO.Stream fs;
localhost.WebService web =
new
localhost.WebService();
fs = (System.IO.Stream)files[0].InputStream;
//将输入流读入二维数组中
fs.Read(datas, 0, files[0].ContentLength);
fs.Close();
Response.Write(web.UploadFile(datas,fileName));
|
Web Service中代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[WebMethod(Description=
"上传服务器图片信息,返回是否成功"
)]
public
string
UploadFile(
byte
[] fs,
string
fileName)
{
//创建内存流 将数组写入内存流中
MemoryStream memory =
new
MemoryStream(fs);
//把内存的东西写入文件流中
FileStream stream =
new
FileStream(HttpContext.Current.Server.MapPath(
"."
) +
"//images"
+ fileName,FileMode.Create);
//将内存流的东西写入FileStream流中
memory.WriteTo(stream);
stream.Close();
memory =
null
;
stream =
null
;
return
"文件上传成功!"
;
}
|