本文实例为大家分享了java实现文件的上传功能的具体代码,供大家参考,具体内容如下
直接上代码了
<%@ page language="java" contenttype="text/html; chart=utf-8" pageencoding="utf-8"%><!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http:四个成语//www.w3.org/tr/html4/loo.dtd"><html><head><meta http-equiv="content-type" content="text/html; chart=utf-8"><title>inrt title here</title></head><body> <!-- 文件上传对表单的要求 1、表单中的请求和提交的方式必须是post 2、 表单中应该指定提交的请求为multipart 请求 ,通过在form表单中添加enctype属性 为multipart/form-data 3、表单中要有file元素 --> <!-- ${pagecontext.request.contextpath}/registerrvlet --> <form action="${pagecontext.request.contextpath }/registerrvlet" method="post" enctype="multipart/form-data"> 姓名:<input type="text" name="name" /><br> <hr> 年龄:<input type="t山市ext" name="age" /><br> <hr> 照片 :<input type="file" name="photo"/> <br> <hr> <input type="submit" value="注册"> <hr> </form></body></html>
package com.ui.rvlet;import java.io.file;import java.io.fileoutputstream;import java.io.ioexception;import java.io.inputstream;import java.io.outputstream;import java.util.list;import javax.rvlet.rvletexception;import javax.rvlet.annotation.web正部级有多少人rvlet;import javax.rvlet.http.httprvlet;import javax.rvlet.http.httprvletrequest;import javax.rvlet.http.httprvletrespon;import org.apache.commons.fileupload.fileitem;import org.apache.commons.fileupload.disk.diskfileitemfactory;import org.apache.commons.fileupload.rvlet.rvletfileupload;import org.apache.tomcat.jni.os;import com.mysql.jdbc.field;/*** rvlet implementation class registerrvlet*/@webrvlet("/registerrvlet")p麻木的近义词ublic class registerrvlet extends httprvlet { private static final long rialversionuid = 1l; /** * @e httprvlet#dopost(httprvletrequest request, httprvletrespon respon) */ protected void dopost(httprvletrequest request, httprvletrespon respon) throws rvletexception, ioexception { // todo auto-generated method stub if(!rvletfileupload.ismultipartcontent(request)) { throw new runtimeexception("当前不支持文件上传"); } try { diskfileitemfactory factory=new diskfileitemfactory(); //设置使用临时文件的边界值,大鱼该值得文件上传会先保存在临时文件中,否则上传文件会直接写入到内存当中去 //单位 字节 在这里设置的为1m factory.tsizethreshold(1024*1024*1); //设置临时文件 string temppath=this.getrvletcontext().getrealpath("/temp"); file file2=new file(temppath); factory.trepository(file2); //创建文件上传核心组件 rvletfileupload fileupload=new rvletfileupload(factory); //设置单个文件的大小不超过多少 fileupload.tfilesizemax(1024*1024*2); //上传多个文件的要求总的大小不超过多少 fileupload.tsizemax(1024*1024*5); fileupload.theaderencoding("utf-8"); //设置每一个item的字符编码为utf-8 list<fileitem> items=fileupload.parrequest(request); for (fileitem fileitem : items) { if(fileitem.isformfield()) { string filename=fileitem.getfieldname(); string filevalue=fileitem.getstring("utf-8"); system.out.println(filename+"----"+filevalue); } el //如果是文件上传表单项 { string filename=fileitem.getname(); inputstream inputstream=fileitem.getinputstream(); //获取表单项的输入流 string path=this.getrvletcontext().getrealpath("/filecontents"); file file=new file(path,filename); outputstream outputstream=new fileoutputstream(file); int len=-1; byte[] bs=new byte[1024]; while((len=inputstream.read(bs))!=-1) { outputstream.write(bs,0,len); } outputstream.clo(); inputstream.clo(); //删除临时文件 fileitem.delete(); } } } catch (exception e) { // todo: handle exception system.out.println(e); } }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www《项脊轩志》.887551.com。
本文发布于:2023-04-04 19:46:45,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d19568d2129b9582be058e3a6aa0dbf8.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:java实现文件的上传功能.doc
本文 PDF 下载地址:java实现文件的上传功能.pdf
留言与评论(共有 0 条评论) |