现在是做的下载表格功能,目前表格是生成到项目中的一个文件夹下。在后台获取到文件路径地址后响应到js,js用调用ajax来接收地址参数,然后用location.href来跳转。可是表格的中文名被编码了,导致页面404。
试过了unescapable,decodeURL, 都不行。

解决方案 »

  1.   

    encodeURIComponent(data.file)
      

  2.   

    正确的地址是localhost:8080/project/UploadExcel/报表2017-04-01--2017-04-13.xlsx
    用location.href跳转后就变成的截图上的。'报表'就被编码了,才导致页面找不到。
    要怎么解决中文的编码啊。各种解码方法都试过了,都不行
    ps:跳转的地址是拼接的,location.href=url+data.file。其中url是获取的项目地址:localhost:8080/project/,data.file是文件的具体存放路径,就是UploadExcel....这个路径。拼接的路径,应该不影响跳转吧?
      

  3.   

    使用 apache web服务器
      

  4.   

                        var fileNameArr = msg.url.split('/');
                        var fileName = fileNameArr.pop();
                        fileName = encodeURIComponent(fileName);
                        fileNameArr.push(fileName);
                        window.href = url + fileNameArr.join('/');
      

  5.   

                        var fileNameArr = data.filel.split('/');
                        var fileName = fileNameArr.pop();
                        fileName = encodeURIComponent(fileName);
                        fileNameArr.push(fileName);
                        window.href = url + fileNameArr.join('/');
      

  6.   

    window.location.href下载xlsx文件,中文乱码