二进制上传下载MP3文件

  if (FileUpload1.HasFile)
        {
            if (txtDesc.Text.Trim() == "")
            {
                lblMess.Text = "请填写歌手名称。";
            }
            else if (txtRefN.Text.Trim() == "")
            {
                lblMess.Text = "请填写歌曲名。";
            }
            else
            {

                string userName = "front";//用户名
                int size = 0;//大小
                string fileName = "";//文件名
                string desc = txtDesc.Text.Trim();//歌手
                string refN = txtRefN.Text.Trim();//歌曲名
                string type = "";//文件类型
                string sql="";
                if (check() != 0)
                {
                    HttpPostedFile file = FileUpload1.PostedFile;
                    size = file.ContentLength;
                    string filepathName = file.FileName;
                    int nPos = filepathName.LastIndexOf("\\");
                    fileName = filepathName.Substring(nPos + 1);
                    type = fileName.Substring(fileName.LastIndexOf(".") + 0);
                    byte[] fileBnData = new byte[size];
                    int n = file.InputStream.Read(fileBnData, 0, size);
                    if (type.ToLower() == ".mp3")
                    {
                        if (size < 1024 * 1000)
                        {
                            sql = "insert into RingingTone (UserName,CategoryId,RefNum,[FileName],FileType,FileSize,FileData,Description) values (@username,@classId,@refnum,@filename,@filetype,@filesize,@filedata,@description)";
                            SqlParameter[] parms = new SqlParameter[] 
                         {
                                        new SqlParameter("@username",userName),
                                        new SqlParameter("@classId",CategoryId),
                                        new SqlParameter("@refnum",refN),
                                        new SqlParameter("@filename",fileName),
                                        new SqlParameter("@filetype",type),
                                        new SqlParameter("@filesize",size),
                                        new SqlParameter("@filedata",fileBnData),
                                        new SqlParameter("@description",desc),
                         };
                            try
                            {
                                DataSqlAdaper.ExecuteNonQuery(DataSqlAdaper.wpConnStr, CommandType.Text, sql, parms);
                                lblMess.Text = "上传成功,感谢分享!";
                            }
                            catch (Exception ex)
                            {
                                lblMess.Text = ex.Message;
                            }
                        }
                        else
                        {
                            lblMess.Text = "请上传小于1M的文件。";
                        }
                    }
                    else
                    {
                        lblMess.Text = "只可以上传MP3类型的文件。";
                        // lblMess.Text = type2;
                    }

                }
                else
                {
                    lblMess.Text = "请选择类别";
                }
            }
        }
        else
        {
            lblMess.Text = "请先选择文件。";
        }



下载,将ID传到ashx


        int ringid = Convert.ToInt32(context.Request.QueryString["id"]);
        string sql = "select FileName,FileSize,FileType,FileData from test where id="+ringid+"";
        System.Data.DataSet ds = LumiaZune.DAL.DataSqlAdaper.ExecuteDataset(LumiaZune.DAL.DataSqlAdaper.wpConnStr, System.Data.CommandType.Text, sql);
        string FileName = Convert.ToString(ds.Tables[0].Rows[0]["FileName"]).Replace(" ", "");
        string FileSize = Convert.ToString(ds.Tables[0].Rows[0]["FileSize"]);
        string FileType = Convert.ToString(ds.Tables[0].Rows[0]["FileType"]);
        byte[] FileData = (byte[])ds.Tables[0].Rows[0]["FileData"];
        context.Response.Clear();
        context.Response.ContentType = FileType;
        context.Response.ContentEncoding = System.Text.Encoding.UTF8;

        String agent = context.Request.UserAgent;
        if (agent.IndexOf("MSIE") > 0)
            context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
        else
            context.Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName);// + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
        context.Response.AddHeader("Content-Length", FileSize.ToString());

        context.Response.OutputStream.Write(FileData, 0, FileData.Length);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值