C#使用webservice把文件上传到服务器
3个回答
2015-06-18 · 知道合伙人互联网行家
关注
展开全部
C#使用webservice把文件上传到服务器的代码如下(这里以C:\\zhidao.jpg这个文件上传为例):
WebService部分:
/// <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;
}
上传文件调用部分:
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/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询