永发信息网

JAVA WEB文件上传步骤

答案:6  悬赏:10  手机版
解决时间 2021-02-15 04:54
JAVA WEB文件上传步骤
最佳答案
JAVA WEB文件上传步骤如下:
实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中。
1、Web 端上传文件。在 Web 页面中添加上传输入项: 设置文件上传输入项时应注意:(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 可以获取上传的文件名。
全部回答
我不知道你做的具体是什么,是不是像QQ空间那个上传照片那样的功能。
首先。你上传东西,肯定要获取到资源地址
然后:你读取到资源,读出到某个你存放资源的地址。
这不就上传成功了么?
但是具体代码我也没写过,我也是菜鸟来得。大侠们勿喷。
这是我cpoy文件的代码。
package io.cb;
import java.io.*;
public class Copy {
public static void copy(String oldFilePath, String newFilePath,String fileName) {
File f1 = new File(oldFilePath); // 源文件的File对象
File f2 = new File(newFilePath+fileName+".txt"); // 目标文件的File对象
if (!f2.isFile() || !f2.exists()) {
InputStream input = null; // 准备好输入流对象,读取源文件
OutputStream out = null; // 准备好输出流对象,写入目标文件
try {
input = new FileInputStream(f1);
out = new FileOutputStream(f2);
int temp = 0;
try {
while ((temp = input.read()) != -1) { // 开始拷贝
out.write(temp); // 边读边写
}
System.out.println("拷贝完成!");
} catch (IOException e) {
e.printStackTrace();
System.out.println("拷贝失败!");
}
} catch (IOException e) {
e.printStackTrace();
}
}else{
System.out.println("文件已存在");
}
}
public static void main(String[] args) {
long start = System.currentTimeMillis();
copy("E:/帮助/Hibernate3.2+API.chm","E:/帮助/","Hibernate3.2+API_1.chm");
long end = System.currentTimeMillis();
System.out.println(end - start);
}
}
哎。不知道够不够用。
服务器上你个人电脑找文件?卧槽。。。咋想的,还是老老实实把web基础理论看看再说
要是服务器可以在别人电脑上任意的找文件,隐私还要不要了?
前台
1. jsp的Form中,添加一个
Form的enctype属性设置为multipart/form-data。
2 .javabean里设置对应的属性,类型为FormFile。
3 .后台可以从FormFile里取到上传文件的FileStream,
剩下的就是java文件操作了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
西巨墙街社区居委会地址在什么地方,我要处理
达城宾馆这个地址在什么地方,我要处理点事
平安街社区居委会地址在什么地方,想过去办事
求简短的推理迷,故事。题目100到200字,带答
文庙街社区居委会地址在什么地方,想过去办事
为什么来月经时会胃痛
甘肃临洮有多少人
数学工具mathematica符号工具栏不见了怎么调
【怎样考好数学】怎样考好数学
输入法表情最多的是哪个?求速度推荐
益林电影院今晚有什么电影
材料的电化学活性具体指的是什么
青龙街社区居委会地址有知道的么?有点事想过
如何用bash的正则表达式对字符串同时掐头去尾
谁能帮我找点水钻打孔活啊,谢谢啊
推荐资讯
裕民西路/利宁北街(路口)地址在哪,我要去那
切削液中的10号或20号是代表什么含义
快乐之舞跳起来 健身操 黑龙江省快乐之舞健身
f调吹走天涯一直用高音合适吗
冰狗什么意思
大亚湾工商行政管理分局澳头工商所我想知道这
小学数学,百分数和分数混合运算要注意什么?
【不畏浮云遮望眼下一句】不畏浮云遮望眼,下
手机号码己停,但只要购买流量包还可以用微信
怀了有妇之夫的孩子,这个孩子该不该要?他说他
比亚迪3系汽车前盖怎么开
不等式6+5x-x2>0的解集为________.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?