c#如何获取到传过来的byte[]文件保存到服务器,Url保存到数据库

c#如何获取到传过来的byte[]文件保存到服务器,Url保存到数据库,第1张

以下是服务器接收函数PostMember,仅供参考

[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

    }


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/300961.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存