提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2011-05-12 15:06:28.000|阅读 976 次
概述:文件上传几乎是每个项目实现的一个必须的模块上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏,这一过程称为上传。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
文件上传几乎是每个项目实现的一个必须的模块上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏,这一过程称为上传。
JAVA实现文件上传的几个组件:
1 SmartUpload 用的最多的一个组件,已经不再更新了,可以实现上传和下载
2 FileUpload Apache实现的文件上传组件,功能齐备
3 J2KUpload java2000实现的文件上传组件,全部使用内存,适合多个不超过10M的小文件
下面具体说说FileUpload Apache实现的文件上传组件。
1、/** 按copy方式上传 */
Java代码
public String uploadFile(){
/**保存的具体路径*/
String savepath = getSavePath();
/**根据保存的路径创建file对象*/
File file = new File(savepath);
if(!file.exists()){
/**创建此文件对象路径*/
file.mkdirs();
}
try {
/**使用的是:org.apache.commons.io.FileUtils FileUtils*/
FileUtils.copyFile(pic, new File(file,getPicFileName()));
} catch (IOException e) {
e.printStackTrace();
}
return SUCCESS;
}
备注:
1、getSavePath()方法中,ServletActionContext()。getServletContext()。getRealPath
(savePath+ "\\"+getPicFileName()); ,这个主要是一个文件的实际路径
2、我个人认为这种方式是简单易用的。按copy方式上传使用的是Apache公司的
org.apache.commons.io.FileUtils包里的FileUtils.java.
2、/** 按字节方式上传 */
Java代码
public String uploadFile(){
/** 文件的写操作 */
FileInputStream fis = null;
FileOutputStream fos = null;
/** 保存的路径 */
String savepath = getSavePath();
/** 根据保存的路径创建file对象 */
File file = new File(savepath);
/** file对象是否存在
*/
if (!file.exists()) {
/** 创建此文件对象路径 */
file.mkdirs();
}
try {
/** 创建输入流 */
fis = new FileInputStream(pic);
/** 输出流 更据文件的路径+文件名称创建文件对象 */
fos = new FileOutputStream(file + "//" + getPicFileName());
/** 读取字节
*/
byte b[] = new byte[1024];
int n = 0;
/** 读取操作
*/
while ((n = fis.read(b)) != -1) {
/** 写操作
*/
fos.write(b, 0, n);
}
/** 关闭操作 */
if (fis != null) {
fis.close();
}
if (fos != null) {
fos.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
3、/** 按字符方式上传 即“三层管道” */
Java代码
public String uploadFile(){
/** 文件的写操作 */
BufferedReader br =null;
BufferedWriter bw = null;
/** 保存的路径 */
String savepath = getSavePath();
/** 根据保存的路径创建file对象
*/
File file = new File(savepath);
/** file对象是否存在 */
if (!file.exists()) {
/** 创建此文件对象路径 */
file.mkdirs();
}
try {
/**
创建一个BufferedReader 对象*/
br = new BufferedReader(new InputStreamReader(new FileInputStream
(pic)));
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream
(file + "//" + getPicFileName())));
// 读取字节
char b[] = new char[1024];
int n = 0;
// 读取操作
while ((n = br.read(b)) != -1) {
// 写操作
bw.write(b, 0, n);
}
// 关闭操作
if (br != null) {
br.close();
}
if (bw != null) {
bw.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
备注:
第二种上传方式没有第三种上传方式效率高。
建议:
最好用第一种方式上传,次之使用第三种方式上传,最后再使用第二种方式上传。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢