当前位置:首页 » 文件管理 » java表单文件上传

java表单文件上传

发布时间: 2022-09-21 09:20:40

java fileItem如何遍历上传普通表单域值到数据库

//1.form表单
//注:上传文件的表单,需要将form标签设置enctype="multipart/form-data"属性,意思是将Content-Type设置成multipart/form-data
<form action="xxx" method="post" enctype="multipart/form-data">
<input type="text" name="name" id="id1" /> <br />
<input type="password" name="password" /> <br />
<input type="file" name="file" value="选择文件"/> <input id="submit_form" type="submit" value="提交"/>

❷ java上传文件时用户不提交表单,上传的文件怎么删除

这个涉及到异步文件上传的功能设计。
思路:
1.
先把文件上传道服务器,并保存一条相关数据到数据库中,状态标识为-(未启用)并设置过期时间,同时把文件上传的url反馈给客户端,实现回显
2.
当用户提交了表单之后,就把先前上传的文件的状态标识更新为
----已经生效
3.
如果用户不提交表单,则文件到达了过期时间可以利用java程序去删过期的文件(未生效

过期 )

❸ java中怎样上传文件

Java代码实现文件上传

FormFilefile=manform.getFile();
StringnewfileName=null;
Stringnewpathname=null;
StringfileAddre="/numUp";
try{
InputStreamstream=file.getInputStream();//把文件读入
StringfilePath=request.getRealPath(fileAddre);//取系统当前路径
Filefile1=newFile(filePath);//添加了自动创建目录的功能
((File)file1).mkdir();
newfileName=System.currentTimeMillis()
+file.getFileName().substring(
file.getFileName().lastIndexOf('.'));
ByteArrayOutputStreambaos=newByteArrayOutputStream();
OutputStreambos=newFileOutputStream(filePath+"/"
+newfileName);
newpathname=filePath+"/"+newfileName;
System.out.println(newpathname);
//建立一个上传文件的输出流
System.out.println(filePath+"/"+file.getFileName());
intbytesRead=0;
byte[]buffer=newbyte[8192];
while((bytesRead=stream.read(buffer,0,8192))!=-1){
bos.write(buffer,0,bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}

❹ Java中上传文件和表单数据提交如何质莸

//1.form表单
//注:上传文件的表单,需要将form标签设置enctype="multipart/form-data"属性,意思是将Content-Type设置成multipart/form-data
<form action="xxx" method="post" enctype="multipart/form-data">
<input type="text" name="name" id="id1" /> <br />
<input type="password" name="password" /> <br />
<input type="file" name="file" value="选择文件"/> <input id="submit_form" type="submit" value="提交"/>
</form>
//2.servlet实现文件接收的功能
boolean isMultipart = ServletFileUpload.isMultipartContent(request);//判断是否是表单文件类型

DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
List items = sfu.parseRequest(request);//从request得到所有上传域的列表
for(Iterator iter = items.iterator();iter.hasNext();){
FileItem fileitem =(FileItem) iter.next(); if(!fileitem.isFormField()&&fileitem!=null){
//判读不是普通表单域即是file
System.out.println("name:"+fileitem.getName());
}
}

3.扩展一下springboot
@RequestMapping("/xxx")
@ResponseBody
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
try {
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File(
file.getOriginalFilename())));
System.out.println(file.getName());
out.write(file.getBytes());
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return "上传失败," + e.getMessage();
} catch (IOException e) {
e.printStackTrace();
return "上传失败," + e.getMessage();
}
return "上传成功";
} else {
return "上传失败,因为文件是空的.";
}
}

❺ java表单提交里面的文件上传,用同步的方式好还是用异步的好啊

你好,很高兴回答你的问题。
这里做成异步比较好。如果同步的话,遇到文件大的话,表单提交会很慢,体验非常不好。
如果有帮助到你,请点击采纳。

❻ JAVA WEB文件上传步骤

JAVA WEB文件上传步骤如下:
实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中。
1、Web 端上传文件。在 Web 页面中添加上传输入项:<input type="file"> 设置文件上传输入项时应注意:(1) 必须设置 input 输入项的 name 属性,否则浏览器将不会发送上传文件的数据。(2) 必须把 form 的 enctype 属性设为 multipart/form-data,设置该值后,浏览器在上传文件时,将把文件数据附带在 http 请求消息体中,并使用 MIME 协议对上传文件进行描述,以方便接收方对上传数据进行解析和处理。(3) 表单提交的方式要是 post
2、服务器端获取文件。如果提交表单的类型为 multipart/form-data 时,就不能采用传统方式获取数据。因为当表单类型为 multipart/form-data 时,浏览器会将数据以 MIME 协议的形式进行描述。如果想在服务器端获取数据,那么我们必须采用获取请求消息输入流的方式来获取数据。
3、Apache-Commons-fileupload。为了方便用户处理上传数据,Apache 提供了一个用来处理表单文件上传的开源组建。使用 Commons-fileupload 需要 Commons-io 包的支持。
4、fileuplpad 组建工作流程
(1)客户端将数据封装在 request 对象中。
(2)服务器端获取到 request 对象。
(3)创建解析器工厂 DiskFileItemFactory 。
(4)创建解析器,将解析器工厂放入解析器构造函数中。之后解析器会对 request 进行解析。
(5)解析器会将每个表单项封装为各自对应的 FileItem。
(6)判断代表每个表单项的 FileItem 是否为普通表单项 isFormField,返回 true 为普通表单项。
(7)如果是普通表单项,通过 getFieldName 获取表单项名,getString 获得表单项值。
(8)如果 isFormField 返回 false 那么是用户要上传的数据,可以通过 getInputStream 获取上传文件的数据。通过getName 可以获取上传的文件名。

❼ java上传文件时用户不提交表单,上传的文件怎么删除

给个建议,临时目录的文件其实可以异步删除 ,

就是说不需要依赖用户是否提交表单这个行为。

整个服务里需要有那么一个线程或者进程管理这个目录

这个线程需要有2块功能

  1. 定时侦测目录的文件数/目录空间

  2. 给一个阀值,当目录文件数、空间到怎样的值 ,按文件的创建时间排序删除最老的文档,删除数量可以给定一个百分比,当然你可以做一些过滤排除(比如创建时间到现在时间差少于半小时的不删除)

热点内容
我的世界迪士尼神奇宝贝服务器地址 发布:2024-10-10 09:03:02 浏览:556
win7存储并显示 发布:2024-10-10 09:02:30 浏览:551
oracle数据库导出 发布:2024-10-10 08:34:56 浏览:363
androidn特性 发布:2024-10-10 08:30:41 浏览:729
存储过程修改记录 发布:2024-10-10 08:23:28 浏览:58
呱呱编程 发布:2024-10-10 08:12:54 浏览:895
androidoa 发布:2024-10-10 08:07:14 浏览:894
安卓手机怎么关掉开了的游戏 发布:2024-10-10 07:50:14 浏览:681
idea新建java类 发布:2024-10-10 07:50:12 浏览:71
教务处的账号和密码是什么 发布:2024-10-10 07:47:51 浏览:790