我在jsp中使用以下代码从服务器下载文件。我正在使用struts框架。如果文件不存在,我想显示警告消息(使用以下代码,如果文件不存在,则以不可读的格式下载)。我不知道如何实现这一点。如果有人对此有所帮助,我将非常感激。
jsp内容:
<a href='<%=url%>/download.jsp?Path=<%=filePath%>&fileName=${CustomerRegistrationForm.customerId}_certificate.pdf' style="text-decoration:none"><font color="#0000FF">Click Here</font></a>
答案 0 :(得分:2)
点击网址而不是href发送ajax请求。如果200表示文件存在且可以下载,则检查响应状态。如果文件不存在,您将收到404错误状态。在这种情况下,您可以提醒消息。
<body>
<script language="javascript" type="text/javascript">
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
if(ajaxRequest.status == 200) {
alert("File Found");
document.getElementById("downloadIframe").src = "abc.csv";
}
else
alert("File Not Found");
}
}
ajaxRequest.open("GET", "abc.csv", true);
ajaxRequest.send(null);
}
</script>
<input type = "button" onclick = "ajaxFunction()" value = "Download"/>
<iframe id = "downloadIframe" src ="" style="display:none;"></iframe>
</body>