本文介绍了如何从content-disposition获取文件名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我下载了文件作为ajax的响应。如何从内容处理中获取文件名和文件类型,并为其显示缩略图。我有很多搜索结果,但找不到正确的方法。
I Downloaded file as response of ajax. How to get file name and file type from content-disposition and display thumbnail for it. i got many search results but couldn't find right way.
$(".download_btn").click(function () { var uiid = $(this).data("id2"); $.ajax({ url: "localhost:8080/prj/" + data + "/" + uiid + "/getfile", type: "GET", error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); }, success: function (response, status, xhr) { var header = xhr.getResponseHeader('Content-Disposition'); console.log(header); } });控制台输出: inline; filename = demo3.png
推荐答案这是我的方法在某个时候使用它。我假设您提供附件作为服务器响应。
Here is how I used it sometime back. I'm assuming you are providing the attachment as a server response.
我从我的REST服务中设置这样的响应头 response.setHe ader(Content-Disposition,attachment; filename = XYZ.csv);
I set the response header like this from my REST service response.setHeader("Content-Disposition", "attachment;filename=XYZ.csv");
function(response, status, xhr){ var filename = ""; var disposition = xhr.getResponseHeader('Content-Disposition'); if (disposition && disposition.indexOf('attachment') !== -1) { var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; var matches = filenameRegex.exec(disposition); if (matches != null && matches[1]) { filename = matches[1].replace(/['"]/g, ''); } } }编辑:编辑答案以适合您的问题 - 使用单词内联而不是附件
function(response, status, xhr){ var filename = ""; var disposition = xhr.getResponseHeader('Content-Disposition'); if (disposition && disposition.indexOf('inline') !== -1) { var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; var matches = filenameRegex.exec(disposition); if (matches != null && matches[1]) { filename = matches[1].replace(/['"]/g, ''); } } }更多信息
更多推荐
如何从content
发布评论