问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA WEB文件上传步骤

发布网友 发布时间:2022-04-23 02:01

我来回答

6个回答

热心网友 时间:2022-04-07 11:05

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 可以获取上传的文件名。

热心网友 时间:2022-04-07 12:23

前台

1. jsp的Form中,添加一个<input type="file" ......>

Form的enctype属性设置为multipart/form-data。

2 .javabean里设置对应的属性,类型为FormFile。

3 .后台可以从FormFile里取到上传文件的FileStream,

剩下的就是java文件操作了。

热心网友 时间:2022-04-07 13:57

我不知道你做的具体是什么,是不是像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);
}

}
哎。不知道够不够用。

热心网友 时间:2022-04-07 15:49

有成型的库啊,通过selvlet,你看看这个
http://www.cnblogs.com/springside5/archive/2012/04/30/2486037.html

热心网友 时间:2022-04-07 17:57

要是服务器可以在别人电脑上任意的找文件,隐私还要不要了?

热心网友 时间:2022-04-07 20:21

服务器上你个人电脑找文件?卧槽。。。咋想的,还是老老实实把web基础理论看看再说
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ炫舞里的紫钻多少钱一个月?有什么好处? QQ炫舞这个炫光叫什么?是不是绝版了? QQ炫舞这个炫光是哪个道具的 元气众生录中的应龙背景是什么? 元气众生录学徒积分换什么好 学徒积分兑换攻略 元气众生录每周礼包买哪些 周礼包购买推荐 H2SO4试剂的相对分子质量为98,密度1.84g/cm3,质量分数为98%_百度知 ... 条件 硫酸500ml,相对分子质量98,密度1.84g/立方厘米 质量分数98% 问题... 相对分子质量:98 密度:1.84g 立方厘米 质量分数:98% 在网上看到药监局的新闻,朋友说以后买不到美瞳了,真的吗? java 文件上传的代码,尽量详细一点。。。 如何使用java远程传输文件,client只提供ip\文件路径等参数,server端无... 三次经历“换角”,跑龙套被偶像梁朝伟安慰,黄轩为什么能走红? 看了黄轩的家终于知道为什么他是这样的性格了 文艺青年黄轩,经历了怎么样的感情波折? 黄轩陪女友家人聚餐,又送花又送礼物,他们当初是如何结缘的? 黄轩热爱书法,演戏方面把角色塑造的也很好,你认为他怎么样呢? 现实中的演员黄轩是什么样的人? 黄轩为人低调,鲜少出现,你是因为什么喜欢上他的呢? 黄轩谈婚姻中的“门当户对”,经济水平是基础,他的三观有多正? 黄轩现在身家过亿吗? 学习舞蹈出身的黄轩,为何出道后多次被换角? 奇妙的朋友黄轩个人资料家庭背景 35岁的黄轩不渴望结婚是否受到了原生家庭的影响? 黄轩个人资料家庭背景简介/黄轩曾祖父是谁 演员黄轩被换角的心酸往事,看了直让人心疼,你知道吗? 黄轩家境贫寒,是如何努力获得今天的成就? 他没钱没背景,三次男主角都被换掉,是金子总会发光,他是谁? 今年新收小麦价格什么价钱? 黄轩发微博悼念父亲,自幼父母离异父亲还早逝,他是在怎样的环境中长大的? java 实现文件上传到另一台服务器,该怎么解决 超强清理大师怎么快充? 360清理大师怎么开启加速充电? 360清理大师在充电中怎样可以不出现广告? 猎豹清理大师怎么把充电的那个关了 手机进水之后通过声波清理大师可以充电吗? 闪电清理大师怎样十分钟快速充电教程? 猎豹清理大师的快速充电有用吗? 为什么超强清理大师中没有快速充电? 猎豹清理大师的充电加速功能会对电池寿命有影响吗? 猎豹清理大师快速充电好吗 为什么我关掉优化电池充电手机反而不热了? 我下载了猎豹清理大师,里面怎么设置快速充电 猎豹清理大师,快速充电应用选择是干什么的 最近手机充电总是出现这个东西,好烦,请问这是由什么引起的?(最近下载了猎豹清理大师和猎豹安全大师) 我的社保在哪里查余额? 怎么查我的社保 手机上怎么查我的社保 为什么我的社保查询不到 怎么查询我的社保在哪?