[HttpPost]
public void PostMember()
{
HttpPostedFile file = null//定义文件接收类
//如果有其他参数,下面的示例接收数据
//var openid = HttpContext.Current.Request.Form["openid"]
foreach (string item in HttpContext.Current.Request.Files)
{
file = HttpContext.Current.Request.Files[item]
}
if (file == null || openid == null)
{
throw new Exception("文件不存在")
}
string openpath = HttpContext.Current.Server.MapPath("~/video/" + openid + "/")
string fileName = DateTime.Now.ToFileTime() + ".mp3"
string sourepath = openpath + fileName
file.SaveAs(sourepath)
//至于怎么把这个地址存到库里,我就不写了,因为每个人都有不同的业务逻辑
}
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
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)