美文网首页
J2EE-----运用Sevlet实现上传图片至网页

J2EE-----运用Sevlet实现上传图片至网页

作者: 不过意局bugyj | 来源:发表于2018-09-04 21:50 被阅读0次

我们能运用PrintWriter实现在Sevlet上传html代码至浏览器,上传图片同理。

代码:

package cn.jxufe.test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DownImage extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String path = this.getServletContext().getRealPath("/WEB-INF/classes/7.jpg");
        InputStream input = new FileInputStream(path);
        OutputStream output = response.getOutputStream();
        byte[] b = new byte[64];
        int count = -1;
        while((count = input.read(b))!=-1){
            output.write(b, 0, count);
        }

        input.close();
        output.close();
    }

}

在这里我们可以运用字节流将图片上传!


image.png

这里的路径是类似于:tomcat安装目录/webapps/项目名/WEB-INF/classes/文件名

当然这里的图片是放在src目录下的

相对于tomcat服务器中webapps文件夹下的/classes文件夹下!

这里看看文件夹结构和webapps的文件结构的对比:

可以看出图片上面两个是包名,包里面是java文件对应的class文件!

当给web项目配置了服务器,就会自动将web项目的文件夹下的WebRoot文件夹复制到tomcat安装目录下的webapps文件夹下,然后在复制文件夹的WEB-INF 文件夹下新建一个classes文件夹作为servlet.java字节码文件的目地文件夹,而ServletContext就类似于一整个项目的上下文,即整个WebRoot文件夹。

如果想用户直接在这个网页下载文件:可以加上

response.setHeader("content-disposition", "attachment;filename="+path);
image.gif
response.setHeader("content-type", "image/jpeg");
image.gif

两行代码!当访问时就会直接出现下载选项!

image.png

相关文章

网友评论

      本文标题:J2EE-----运用Sevlet实现上传图片至网页

      本文链接:https://www.haomeiwen.com/subject/qsnnwftx.html