直播网站源码,上传图片到项目目录并将相对路径保存到数据库

直播网站源码,上传图片到项目目录并将相对路径保存到数据库

HTML

 

1
<form action="${pageContext.request.contextPath}/pictureServlet" method="post" enctype="multipart/form-data"><br>      <input id="input" type="file" name="file"><br>      <button id="btn" type="submit ">提交</button><br></form><br>    <img id="img" src=""><br> 

JS实现预览

此时的预览所获得的路径不能传到后台操作,是blob:http…格式,下面会说

 

1
<br>$("#a").change(function (e) {<br>        console.log(e)<br>        reader.readAsDataURL(this.files[0]);<br>          reader.onload = function(e){<br>            console.log(e.target.result);<br>            document.getElementById("img").src = e.target.result;<br>          }<br>      })<br> 

 

Servlet

 

1
import org.apache.commons.fileupload.FileItem;<br>import org.apache.commons.fileupload.FileUploadException;<br>import org.apache.commons.fileupload.disk.DiskFileItemFactory;<br>import org.apache.commons.fileupload.servlet.ServletFileUpload;<br>import javax.net.ssl.HttpsURLConnection;<br>import javax.servlet.ServletException;<br>import javax.servlet.annotation.WebServlet;<br>import javax.servlet.http.HttpServlet;<br>import javax.servlet.http.HttpServletRequest;<br>import javax.servlet.http.HttpServletResponse;<br>import javax.servlet.http.HttpSession;<br>import java.io.File;<br>import java.io.IOException;<br>import java.io.PrintWriter;<br>import java.util.List;<br>@WebServlet("/pictureServlet")<br>public class PictureServlet extends HttpServlet {<br>    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br>        request.setCharacterEncoding("utf-8");<br>        response.setContentType("text/plain;charset=utf-8");<br>//此处将新建的文件直接保存到项目的绝对路径中。File没有读写能力。<br>        File savePath = new File("E:\\javaEE\\Project\\Picture\\web\\images");<br>        DiskFileItemFactory factory = new DiskFileItemFactory();//jar包的类<br>        ServletFileUpload upload = new ServletFileUpload(factory);//jar包的类<br>        try {<br>            List<FileItem> items = upload.parseRequest(request);<br>            //将前端的表单数据封装成list。<br>            //form表单必须加enctype="multipart/form-data",在使用包含文件上传控件的表单时,必须使用该值。<br>            for (FileItem item:items){<br>                if(item.isFormField()){<br>//说明普通表单项<br>                }else {<br>                //说明上传文件项<br>                //获取上传文件的名称<br>                    String name  = item.getName();<br>                    //获取相对路径<br>                    String path = request.getContextPath()+"/images/"+name;<br>                    //将相对路径保存到数据库<br>                    Test test = new Test();<br>                    test.update(path);<br>//使用绝对路径完成文件上传<br>                    item.write(new File(savePath,name));<br>                    //删除临时文件<br>                    item.delete();<br>                }<br>            }<br>        } catch (FileUploadException e) {<br>            e.printStackTrace();<br>        } catch (Exception e) {<br>            e.printStackTrace();<br>        }<br>}<br>    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br>        this.doPost(request,response);<br>    }<br>}

 

 以上就是直播网站源码,上传图片到项目目录并将相对路径保存到数据库, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-05-18 在线直播系统源码,多图加载成动画的形式如何实现
2022-05-18 短视频平台源码,界面支持上下、左右的任意滑动
2022-05-18 短视频系统源码,动态内容实现长按复制粘贴
点击右上角即可分享
微信分享提示