url路径下载pdf资源和.png下载的方法原生js方法

 GetFieldUrl("传入FileId文件的id去下载文件相关的信息");
function GetFieldUrl(FileId) {

    console.log(baseUrl + "api/FileManage/GetFileInfos?fileIds=" + FileId);

    $.ajax({
        contentType: 'application/json',
        //  data: JSON.stringify(entity),
        url: baseUrl + "api/FileManage/GetFileInfos?fileIds=" + FileId,
        type: "get",
        headers: {
                Accept: $.cookie('learn_token')
            },
        complete: function (XMLHttpRequest, textStatus) {
            //console.log("complete " + textStatus);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            var status = XMLHttpRequest.status;
            if (status == '403') {
            }
           
        },
        success: function (data, textStatus, XMLHtaa) {
          // top.window.open(baseUrl + data.resultdata[0].FilePath, '_blank', 'download='+baseUrl + data.resultdata[0].FilePath)  //这些都是url文件的路径并不是二进制流,所以呢 一打开就在浏览器中显示了并非下载文件。
           //window.open(baseUrl + data.resultdata[0].FilePath);
          
            //window.location.href = baseUrl + data.resultdata[0].FilePath;
         //   downloadUrl(baseUrl + data.resultdata[0].FilePath,baseUrl + data.resultdata[0].FileName);
/***************下面是接口下载的数据*************************************/          
{
    "type": 1,
    "errorcode": 0,
    "message": "获得文件信息成功:a12f2b2b-f521-490d-bd7b-67f3c445a40e",
    "resultdata": [
        {
            "FileId": "a12f2b2b-f521-490d-bd7b-67f3c445a40e",
            "FolderId": "81b7f3af-d615-4749-b3a8-729db178779b",
            "FileName": "louu.png",
            "FilePath": "/UpFile/CSedaPollutionCensus/20231214/20231214111209louu.png",
            "FileSize": "5779",
            "FileExtensions": "png",
            "FileType": "png",
            "IsShare": null,
            "ShareLink": null,
            "ShareCode": null,
            "ShareTime": null,
            "DownloadCount": null,
            "IsTop": null,
            "SortCode": null,
            "DeleteMark": 0,
            "EnabledMark": 1,
            "Description": null,
            "CreateDate": "2023-12-14 11:12:09",
            "CreateUserId": "System",
            "CreateUserName": "超级管理员",
            "ModifyDate": null,
            "ModifyUserId": null,
            "ModifyUserName": null,
            "MD5": "937C8272E7DA2D19B19827D9C0400FB5"
        }
    ]
}
/***************下面是接口下载的数据*************************************/  
             var xhr = new XMLHttpRequest();//创建 XMLHttpRequest 对象
             xhr.open('get',baseUrl + data.resultdata[0].FilePath, true);//规定请求的类型、URL 以及是否异步处理请求。三个参数分别是 method:请求的类型;GET 或 POST url:文件在服务器上的位置 async:true(异步)或 false(同步)
             xhr.setRequestHeader('Content-Type',baseUrl + data.resultdata[0].FileName);//设置请求头
             xhr.responseType = "blob";//返回的数据类型 这儿需要blob对象
             xhr.onload = function () {//请求成功回调函数
                  if (this.status == 200) {
                    //接受二进制文件流
                      var blob = this.response;
                      downloadExportFile(blob, data.resultdata[0].FileName, data.resultdata[0].FileType)
                  }
                }
             xhr.send();//将请求发送到服务器
        }
    });

}
 function downloadExportFile(blob, tagFileName, fileType) { //将文件下载下来
          let downloadElement = document.createElement('a');
          let href = blob;
          if (typeof blob == 'string') {
            downloadElement.target = '_blank';
          } else {
            href = window.URL.createObjectURL(blob); 
          }
          downloadElement.href = href;
          downloadElement.download = tagFileName + moment(new Date().getTime()).format('YYYYMMDDhhmmss') + '.' + fileType; //下载后文件名
          document.body.appendChild(downloadElement);
          downloadElement.click(); //点击下载
          document.body.removeChild(downloadElement); //下载完成移除元素
          if (typeof blob != 'string') {
            window.URL.revokeObjectURL(href); //释放掉blob对象
          }

   }





  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果使用Java的getResource()方法获取资源时,路径写对了,但是获取到的URL仍然为null,可能是因为资源没有被正确地加载或者资源路径不正确。 首先,你需要确保资源文件存在于正确的位置。如果你使用的是相对路径,那么资源文件应该与你的class文件在同一个目录或者子目录下。如果你使用的是绝对路径,那么你需要指定完整的路径。 其次,你需要确保资源文件被正确地打包到了jar文件中。如果你的资源文件没有被打包进去,那么在运行时就无法访问到这个文件。 最后,你需要注意getResource()方法的返回值。如果资源文件不存在或者路径不正确,getResource()方法将会返回null。因此,你需要对返回值进行判断,避免出现NullPointerException等异常。 下面是一个简单的例子,演示如何使用getResource()方法加载图片: ```java import java.net.URL; import javax.swing.ImageIcon; public class LoadImage { public static void main(String[] args) { URL url = LoadImage.class.getResource("start.png"); if (url != null) { ImageIcon icon = new ImageIcon(url); System.out.println("Image width: " + icon.getIconWidth()); System.out.println("Image height: " + icon.getIconHeight()); } else { System.out.println("Failed to load image"); } } } ``` 在这个例子中,我们使用getResource()方法加载了一个名为“start.png”的图片。如果图片存在并且路径正确,我们就可以获取到这个图片的URL,并用它来创建一个ImageIcon对象。如果图片不存在或者路径不正确,我们就会得到一个null值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值