其他分享
首页 > 其他分享> > 实现文件上传(一图片为例)

实现文件上传(一图片为例)

作者:互联网

 

 

需要:

 

 

 

两个jar包

直接上代码:

index2.jsp代码:

<%--
  Created by IntelliJ IDEA.
  User: admin
  Date: 2019/10/8
  Time: 10:07
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>上传图片</title>

    <style>
        span{
            color: red;
        }
    </style>
</head>

<body>
<form method="post" action="index.jsp" enctype="multipart/form-data">
    <%--    <textarea class="ckeditor" name="textareaid"></textarea>--%>
    <p>
        账号: <input type="text"name="userName"placeholder="请输入账号:"><span>*</span>
    </p>
        <p>
            密码: <input type="password"name="password"placeholder="请输入密码:"><span>*</span>
        </p>
        <p>
            出生年月: <input type="date"name="date">
        </p>
    上传图片:<input type="file" name="img"/>
    <input type="submit" value="提交"/>
</form>


</body>
</html>

index.jsp代码:

<%@ page import="java.io.File" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<%@ page import="org.apache.commons.fileupload.FileItemFactory" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="java.util.Iterator" %>
<%--<%@ page import="org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload" %>--%>
<%--<%@ page import="org.apache.tomcat.util.http.fileupload.FileItemFactory" %>--%>
<%--<%@ page import="org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory" %>--%>
<%--<%@ page import="org.apache.tomcat.util.http.fileupload.FileItem" %>&lt;%&ndash;--%>
<%--  Created by IntelliJ IDEA.--%>
<%--  User: admin--%>
<%--  Date: 2019/10/8--%>
<%--  Time: 17:13--%>
<%--  To change this template use File | Settings | File Templates.--%>
<%--&ndash;%&gt;--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试传送图片</title>
</head>
<body>
<%

request.setCharacterEncoding("UTF-8");
String realPath = request.getSession().getServletContext().getRealPath("/img");
    File file = new File(realPath);
    if(file.exists()){
        file.mkdir();
    }
    boolean multipartContent = ServletFileUpload.isMultipartContent(request);
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> list = upload.parseRequest(request);
    Iterator<FileItem> iterator = list.iterator();

    while(iterator.hasNext()){
        FileItem fileItem = iterator.next();
        if(!fileItem.isFormField()){
            String name = fileItem.getName();
            name = name.substring(0,name.length()-4)+"personal"+System.currentTimeMillis()+".jpg";
            File fullFile = new File(name);
            File uploadFile = new File(realPath,fullFile.getName());
            fileItem.write(uploadFile);
        }else{
            String userName = fileItem.getString("UTF-8");
            request.setAttribute("name",userName);
        }
    }
%>

</body>
</html>

 

 

注意: 要记得在out下创建一个文件,这样index2.jsp里的:

String realPath = request.getSession().getServletContext().getRealPath("/images");
("/images")===>这里面写路径

 

 

 

成功后点击下面就有你添加上传的图片

 

 

这里我可以让图片显示出来:

首先上传文件(图片为例):

index.css:

.round_icon{
    width: 340px;
    height: 340px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>圆形图片</title>
    <link rel="stylesheet" href="index.css">
</head>
<body>

<div class="round_icon">
    <img src="../out/artifacts/file_Web_exploded/upload/1personal1570526642418.jpg"/>
</div>


</body>
</html>

 

 

标签:name,iterator,为例,File,图片,上传,fileItem
来源: https://www.cnblogs.com/bichen-01/p/11667826.html