A. 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 "上传失败,因为文件是空的.";
}
}
B. html上传表单属性
表单的文件上传元素默认样式确实是:
只是这样并不美观,于是常见做法是创建一个文本框和一个按钮来配合文件上传元素:
核心就是将上传元素的透明度设置为0,即完全透明,然后绝对定位到按钮上上面,这样用户点击按钮时,实际是点击到上传元素。然后添加js,将上传元素的value值赋给文本框的value值,实现在文本框中显示文件元素的value属性值。
该上传元素的onchange事件监听函数为:onchange="document.getElementById('textfield').value=this.value"
C. <input type="file">怎么样实现上传
1、首先,你要对form表单设置下相关属性,增加如下属性:
enctype="multipart/form-data" action="接收上传文件的后台处理URL" method="post"
<formenctype="multipart/form-data"action=""method="post">
<inputtype="file"id="choosefile"/>
<inputtype="file"id="f"style="display:none;"/>
<inputtype="submit"value="上传文件"id="submitBtn"/>
</form>
2、编写接收客户端文件上传的后台代码,即上面提到的“接收上传文件的后台处理URL”的相关代码。
3、当点击上面增加的“上传文件”按钮后,将调用action对应的处理方法进行文件上传
因为不知道你是使用什么语句作为后台程序的运行语句,这里没法给出示例。像很多都有现成的插件。
D. java spring mvc 客户端上传文件到服务器端
Web文件上传采用POST的方式,与POST提交表单不同的是,上传文件需要设置FORM的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性默认为application/x-www-form-urlencoded,使用浏览器将使用ASCII向服务器发送数据,导雀贺致发送文件失败。
上传文件要使用册则文顷姿派件域(<input type='file'/>,并把FORM的Enctype设置为multipart/form-data.
E. Enscape如何上传web
你好,Enscape上传web有两个操作:
在网页中添加上传条目,在Servlet中读取上传文件的数据并保存到本地硬盘。
在Web端上传文件。在网页中添加上传条目:在设置文件上传条目时,需要注意:
1、必须设置输入条目的name属性,否则浏览器不会发送上传文件的数据。
2、表单的enctype属性必须设置为multipart/form-data。设置该值后,浏览器上传文件时,会将文件数据附加到http请求消息体中,并使用MIME协议描述上传的文件,以方便接收方对上传的数据进行分析处理。
3、表单提交方式为post。
F. 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 可以获取上传的文件名。