IE和火狐关于文件上传路径然后下载的问题(正常路径IE识别,火狐识别不出正常的路径)

本系统是用来using org.in2bits.MyXls;在服务器端自动生成excel表格;
   private void CreaateDir(string path1)
    {


        if (!Directory.Exists(path1))
        {
            Directory.CreateDirectory(path1);
        }
    }


  
    private void Output(HtmlTable dt)
    {


        string path = string.Format("{0:yyyyMMdd}", Convert.ToDateTime(riqi));
        path = "..\\ribaobiaoexcel\\" + path;


        CreaateDir(Server.MapPath(path));


        string filename = ribaobiaobianhao + ".xls";//excel文件名称
        string filepath = path + "\\" + filename;




        org.in2bits.MyXls.XlsDocument doc = new org.in2bits.MyXls.XlsDocument();
        //doc.FileName = "ylrk"+string.Format("{0:yyyyMMdd}", Convert.ToDateTime(riqi))+".xls";//excel文件名称  
        // doc.FileName = Server.MapPath("~/Demo.xls");
        org.in2bits.MyXls.Worksheet sheet = doc.Workbook.Worksheets.AddNamed("sheet1");//Excel工作表名称  
        org.in2bits.MyXls.Cells cells = sheet.Cells;
       ...


        //message.Text = Server.MapPath(filepath);


        if (File.Exists(Server.MapPath(filepath)))
        {
            File.Delete(Server.MapPath(filepath));//删除
        }
       
        doc.Save(Server.MapPath(filepath));  //保存到指定位置  
      
       
       // 往基础表中添加数据 


        string sqlstr = "select * from ribaobiao where ribaobiao_bianhao='" + ribaobiaobianhao + "'";
        DataSet ds = new DataSet();
        SqlConnection conn = mc.myconn();
        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, conn);
        SqlCommandBuilder commbd = new SqlCommandBuilder(myda);
        myda.Fill(ds, "xxxx");
        if (ds.Tables["xxxx"].Rows.Count != 0)
        {




            message.Text = "<script>alert(\"记录已存在!\");</script>";
        }
        else
        {
            DataRow dr = ds.Tables["xxxx"].NewRow();
            ...
            dr["file_path"] = filepath;


            dr["file_name"] = filename;

            ds.Tables["xxxx"].Rows.Add(dr);


            myda.Update(ds, "xxxx");
....}}
windows下文件上传的路径是(windows桌面路径类似于C:\lj\ljh\riba)
  path = "..\\ribaobiaoexcel\\" + path;//注意


        CreaateDir(Server.MapPath(path));


        string filename = ribaobiaobianhao + ".xls";//excel文件名称
        string filepath = path + "\\" + filename;//注意
文件上传到部署项目下面的ribaobiaoexcel下面一个日期文件夹下如 相对路径是  项目文件夹\ribaobiaoexcel\20150512\xxx.xls
filepath="..\\ribaobiaoexcel\\20140927\\41kcrb20140927.xls";//注意在代码中“\\"前面一个\为转移字符,实际存到数据库中
数据变为了"..\ribaobiaoexcel\20140927\41kcrb20140927.xls",这样在浏览器IE显示的时候可以自动识别出来,但是在火狐浏览器中却无法识别。
这里使用了sqlsever中的字符替代函数REPLACE(file_path,'\','/'),这个在sqlsever中时正确的,但是到了程序中,'\'可能被当成转移字符了,因此sql语句显示的时候直接就是'',因此我们需要将'\',改为'\\'。即可达到目的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值