本文介绍了图像从服务器下载到客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

imagedownloadservlet.java



包servlets;

imagedownloadservlet.java

package servlets;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ImageDownloadServlet extends HttpServlet {

 private static final long serialVersionUID = 1L;

 protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException
   {
  // obtains ServletContext
  ServletContext context = getServletContext();

  // reads input file from an absolute path
    String filePath = request.getParameter("filepath");
    File downloadFile = new File(filePath);
    FileInputStream inStream = new FileInputStream(downloadFile);

  // gets MIME type of the file
    String mimeType = context.getMimeType(filePath);
    if (mimeType == null) {
   // set to binary type if MIME mapping not found
     mimeType = "application/octet-stream";
  }
    System.out.println("MIME type: " + mimeType);

  // modifies response
    response.setContentType(mimeType);
    response.setContentLength((int) downloadFile.length());

  // forces download
    String headerKey = "Content-Disposition";
    String headerValue = String.format("attachment; filename=\"%s\"", downloadFile.getName());
    response.setHeader(headerKey, headerValue);

  // obtains response's output stream
    OutputStream outStream = response.getOutputStream();

  byte[] buffer = new byte[4096];
  int bytesRead = -1;

  while ((bytesRead = inStream.read(buffer)) != -1) {
   outStream.write(buffer, 0, bytesRead);
  }

  inStream.close();
  outStream.close();
 }
}



这是我的jquery代码.......



$(#save)。on(click,function(){

$ .post(/ ImageDownloadServlet,

{

filepath:javascript_var

},

函数(数据,状态){

alert(数据:+数据+ \ nStatus:+ status);

});

});



这是我的HTML代码.....


This is my jquery code.......

$("#save").on("click",function (){
$.post("/ImageDownloadServlet",
{
filepath:javascript_var
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});

This is my html code.....

<div id="rightoutputimgae">
<div id="rightimgId" class="rightimg"  rel="tooltip" content="<img src='jqe13/image/1.jpg' class='tooltip-image'/> ">
<div id="outputimageId" class="outputimage"><img src="jqe13/image/1.jpg" alt="Right Bottom Image"></div>
</div>
<ul><li id="outcheckbox"><input name="outCheck" type="checkbox"></li>
<li id="outedit"><a href="#"><img src="jqe13/image/edit_s.PNG" alt="edit" title="Edit"></a></li>
<li id="outdelete"><a href="#"><img src="jqe13/image/delet_c.PNG" alt="delete" title="Delete"></a></li>
<li id="outfullscreen"><a href="#"><img src="jqe13/image/fullscreen_c.PNG" alt="Full Screen" class="fullscreen" title="Full Screen"></a></li>
<li id="outshare"><a href="#"><img src="jqe13/image/share_c.PNG" alt="Share" title="Share"></a>
<div id="menu">
<div id="tooltip_menu">
        <a href="#" class="menu_top" id="email"><img src="jqe13/image/email.PNG" alt="Email" title="Email"></a>
        <a href="#" onClick="postToFeed()" class="facebook"><img src="jqe13/image/fb.PNG" alt="Facebook" title="Facebook"></a>
        <a href="#" id="twitter"><img src="jqe13/image/twitter.png" alt="Twitter" title="Twitter"></a>
        <a href="#" class="menu_bottom" id="save"><img src="jqe13/image/save.PNG" alt="Save" title="Save"></a>
</div>
</div>
</li>
<li id="outprint"><a href="#" class="printMe"><img src="jqe13/image/print.PNG" alt="Print" title="Print"></a></li>
</ul>
</div>





这是我的Servlet映射........



This is my Servlet mapping........

<servlet-mapping>
    <servlet-name>ImageDownloadServlet</servlet-name>
    <url-pattern>/ImageDownloadServlet</url-pattern>
  </servlet-mapping>



i想要将图像下载到客户端系统....点击保存按钮.....

i尝试过上面的代码,但没有得到任何.............。


i want to download a image to client system....when click on save button.....
i tried above code but not getting anything.............can any one help..............

推荐答案


<div id="rightoutputimgae">
<div id="rightimgId" class="rightimg"  rel="tooltip" content="<img src='jqe13/image/1.jpg' class='tooltip-image'/> ">
<div id="outputimageId" class="outputimage"><img src="jqe13/image/1.jpg" alt="Right Bottom Image"></div>
</div>
<ul><li id="outcheckbox"><input name="outCheck" type="checkbox"></li>
<li id="outedit"><a href="#"><img src="jqe13/image/edit_s.PNG" alt="edit" title="Edit"></a></li>
<li id="outdelete"><a href="#"><img src="jqe13/image/delet_c.PNG" alt="delete" title="Delete"></a></li>
<li id="outfullscreen"><a href="#"><img src="jqe13/image/fullscreen_c.PNG" alt="Full Screen" class="fullscreen" title="Full Screen"></a></li>
<li id="outshare"><a href="#"><img src="jqe13/image/share_c.PNG" alt="Share" title="Share"></a>
<div id="menu">
<div id="tooltip_menu">
        <a href="#" class="menu_top" id="email"><img src="jqe13/image/email.PNG" alt="Email" title="Email"></a>
        <a href="#" onClick="postToFeed()" class="facebook"><img src="jqe13/image/fb.PNG" alt="Facebook" title="Facebook"></a>
        <a href="#" id="twitter"><img src="jqe13/image/twitter.png" alt="Twitter" title="Twitter"></a>
        <a href="#" class="menu_bottom" id="save"><img src="jqe13/image/save.PNG" alt="Save" title="Save"></a>
</div>
</div>
</li>
<li id="outprint"><a href="#" class="printMe"><img src="jqe13/image/print.PNG" alt="Print" title="Print"></a></li>
</ul>
</div>





This is my Servlet mapping........



This is my Servlet mapping........

<servlet-mapping>
    <servlet-name>ImageDownloadServlet</servlet-name>
    <url-pattern>/ImageDownloadServlet</url-pattern>
  </servlet-mapping>



i want to download a image to client system....when click on save button.....

i tried above code but not getting anything.............can any one help..............


i want to download a image to client system....when click on save button.....
i tried above code but not getting anything.............can any one help..............


这篇关于图像从服务器下载到客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 07:50
查看更多