ASPX页面所需控件:一个FileUpload 控件,一个Button(btnUpload);
一、ASPX页面Button的事件代码
protected void btnUpload_Click(object sender, EventArgs e) { /**/////获得上传文件的名称 //FileInfo file = new FileInfo(fileUpload.PostedFile.FileName);
//将上传的文件转换为二进制流 byte[] fileContent = fileUpload.FileBytes; //获得上传文件的名称 string fileName = fileUpload.FileName; //实例化webservice AdService.Service adTemp = new AdService.Service(); if (adTemp.UploadFile(fileContent, fileName)) //调用上传方法。 { Response.Write("已上传成功"); } else { Response.Write("上传图片发生未知错误"); }
}
二、WebService代码
新建一个WebService项目,WebService文件名称为AdService.asmx;
[WebMethod(Description = "WebService上传文件代码")] public bool UploadFile(byte[] fs, string fileName) { try { /**////定义并实例化一个内存流,以存放提交上来的字节数组。 System.IO.MemoryStream m = new System.IO.MemoryStream(fs); //取出存放地址,可以通过数据库里存放,不用定死了。此处只是做DEMO。
//将文件保存在网站虚拟目录中,请自行修改路径 string strFile = Server.MapPath("MyFiles\\" + FileName); /**////定义实际文件对象,保存上载的文件。 System.IO.FileStream fl = new System.IO.FileStream(strFile, FileMode.OpenOrCreate); /**////把内内存里的数据写入物理文件 m.WriteTo(fl); m.Close(); fl.Close(); m = null; fl = null; return true; } catch { return false; }
} |