C#使用webservice把文件上传到服务器
3个回答
2015-06-18 · 知道合伙人互联网行家
关注
展开全部
C#使用webservice把文件上传到服务器的代码如下(这里以C:\\zhidao.jpg这个文件上传为例):
WebService部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /// <summary> /// 保存文件到远程服务器 /// </summary> /// <param name="FileByteArray">待转换字节数组</param> /// <param name="FileLength">字节长度</param> /// <param name="SaveToUrl">保存路径</param> /// <returns>返回是否执行成功</returns> [WebMethod(Description = "保存文件到远程服务器." )] public bool SaveFile( byte [] FileByteArray, int FileLength, string SaveToUrl) { try { FileStream fs = new FileStream(SaveToUrl, FileMode.OpenOrCreate, FileAccess.Write); fs.Write(FileByteArray, 0, FileLength); fs.Close(); } catch { return false ; } return true ; } |
上传文件调用部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | protected void Button1_Click( object sender, EventArgs e) { MangerPhoto.Service mp = new MangerPhoto.Service(); Response.Write(mp.SaveFile(getByte(), FileUpload1.PostedFile.ContentLength, "C:\\zhidao.jpg" )); } private byte [] getByte() { //获得转化后的字节数组 //得到用户要上传的文件名 string strFilePathName = FileUpload1.PostedFile.FileName; string strFileName = Path.GetFileName(strFilePathName); int FileLength = FileUpload1.PostedFile.ContentLength; //上传文件 Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组 Stream StreamObject = FileUpload1.PostedFile.InputStream; //建立数据流对像 //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度 StreamObject.Read(FileByteArray, 0, FileLength); return FileByteArray; } |
展开全部
存放程序里面的存放路径要为绝对路径。不能用相对路径。
展开全部
使用二进制流的模式长传保存
追问
我是用的这样的方式,但是总提示要上传的路径格式不正确,因为我要上传到服务器,所以地址我是这样写的//localhost:2296/WebService/
本回答被提问者采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询