我的 jsp 中有这样的下载选项
<a href='<c:url value="/licensing/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>
<img src="/images/download.gif" alt="Download" border="0" align="right">
上面的“url”是文件的位置,名称是文件名。单击jsp中的下载选项时,我调用控制器中的控制器方法下载
public ModelAndView download(HttpServletRequest request, HttpServletResponse response, DevTechBean devTechBean) throws Exception {
cat.debug("MySuiteListController: download: begin");
ModelAndView modelView = super.handleLicensingRequest(request, response);
String name = request.getParameter("name");
String url1 = request.getParameter("downloadUrl");
cat.debug(" download: url ="+url1);
String downloadurl1="https://my.net:8869"+url1;
cat.debug(" download: downloadurl ="+downloadurl1);
try{
URL url = new URL(downloadurl1);
//response.setHeader("Content-Type", "text/csv");
response.setHeader("Content-disposition", "attachment;filename="+name);
URLConnection connection = url.openConnection();
InputStream stream = connection.getInputStream();
BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
int len;
byte[] buf = new byte[1024];
while ((len = stream.read(buf)) > 0) {
outs.write(buf, 0, len);
}
outs.close();
}
catch (MalformedURLException e) {
cat.error("Error occurrred in url");
}
catch (IOException e) {
cat.error("Error occurrred ");
}
String viewName = "swl_download";
modelView.setViewName(viewName);
return modelView;
}
但是当我单击下载时,我收到文件未找到异常。
我认为问题是由于 url 值造成的。
在上面的 iam 中,其值为 downloadurl=/files/download/hai.txt
当我给予
<a href="${namelist.url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/></td>
单击后,文件将在浏览器中使用 url 打开https://my.net:8869//files/download/hai.txt(但是这里的 href 我只给出了这个链接“/files/download/hai.txt”,不知道整个链接是如何来的。
但如果给出这样的链接来调用控制器以弹出该文件。
<a href='<c:url value="/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>
它出现文件未找到异常。
我认为这是由于 do downloadUrl.so 我在上面添加了这样的内容
String downloadurl1="https://my.net:8869"+url1;
但我遇到文件找不到异常。请帮我解决这个问题。