我正在尝试创建一个Java"过滤器"来检测自定义HTTP请求标头,并插入响应标头,以便文件自动下载.对此最重要的响应标头是"Content-Type = Attachment"响应标头.我创建了一个插入自定义标头的HTTP请求对象:
function myHttpObject(filePath){
function makeHttpObject() {
return new XMLHttpRequest();
}
var request = makeHttpObject();
request.open("GET", filePath, false);
request.setRequestHeader("X-Wria-Download", "PDFdownload");
request.send(null);
window.open(filePath);
console.log(request.getAllResponseHeaders());
}
Run Code Online (Sandbox Code Playgroud)
这会将X-Wria-Download标头插入请求中.然后我有一个Java过滤器,它查找该请求标头,并应将响应标头设置为"Content-Type = attachment"
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Contenttypefilter implements Filter {
protected FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void destroy() {
//noop
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { …Run Code Online (Sandbox Code Playgroud)