社区
Web 开发
帖子详情
用JSP如何实现文件夹时。自动打包上传
binger819623
2006-08-23 08:10:07
我想实现的功能是:用表单上传一个文件夹下的内容。上传的时候能自动打包压缩上传。到了服务器端再自动解包。
哪位高手帮我解决可再加分!
...全文
2955
34
打赏
收藏
用JSP如何实现文件夹时。自动打包上传
我想实现的功能是:用表单上传一个文件夹下的内容。上传的时候能自动打包压缩上传。到了服务器端再自动解包。 哪位高手帮我解决可再加分!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qf521lx
2007-02-11
打赏
举报
回复
我帮你顶
binger819623
2006-08-24
打赏
举报
回复
to xiangbo520(充栋汗牛).
自己写个Active X或许可以实现
你说的这种方法我也想过。
但是不会写Active X。这要怎么写呀?
binger819623
2006-08-24
打赏
举报
回复
我在网上看到,这个功能应该能够实现的。即使不用FILE元素,应该有其它的方法
binger819623
2006-08-24
打赏
举报
回复
to SafeSoft() :我的邮箱是qiuer623@tom.com
谢谢呀!解决了一定给分!
timerri
2006-08-24
打赏
举报
回复
最好的方式是做个activex来做这个操作。
如果这项技术能够仅仅依靠浏览器来解决的话,估计这个浏览器会被立马淘汰!!!!!
你访问我的网页,我就把你硬盘上的隐私信息打个包上传上来....世界就大同了....
zuguanqun
2006-08-24
打赏
举报
回复
up ,可以多写几个file 啊,呵呵,这样不就是多文件上传了吗?/
qingzhuang
2006-08-24
打赏
举报
回复
up
SafeSoft
2006-08-24
打赏
举报
回复
上传 下载 打包 压缩 EXCEL操作 都有 我也说不清 里面还有个共通的check类 还有很多发不上去了 你要的话就发邮件给我吧 zerobugforsoftware@163.com
wys512
2006-08-24
打赏
举报
回复
还是用applet上传,自己开个线程监视上传的目的位置,如果有.zip文件执行解压,上边都有程序了,你组装一下就可以了,呵呵
binger819623
2006-08-24
打赏
举报
回复
自己项一下
zhmt
2006-08-24
打赏
举报
回复
路过,友情up...
binger819623
2006-08-24
打赏
举报
回复
HttpConnector[8083] Starting background thread
这是什么意思呀?
lcllcl987
2006-08-24
打赏
举报
回复
能打包客户端的文件夹吗?好像不可以把?
就算用applet,如果没有授权,也是不能访问客户端文件系统的
binger819623
2006-08-24
打赏
举报
回复
顺便问一下。这是什么错误呀?
Boolean maxLengthExceeded = (Boolean) request
.getAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
这一句的错误提示是:"UpLoadForm.java": cannot resolve symbol: variable ATTRIBUTE_MAX_LENGTH_EXCEEDED in interface org.apache.struts.upload.MultipartRequestHandler at line 40, column 39
说明一下,我前包已经导入了:
import org.apache.struts.upload.MultipartRequestHandler;
xiangbo520
2006-08-23
打赏
举报
回复
表单中的FILE元素是无法选定文件夹的,只能选定单个文件,你死心吧.
自己写个Active X或许可以实现
wangpeng8675
2006-08-23
打赏
举报
回复
关注一下
binger819623
2006-08-23
打赏
举报
回复
to SafeSoft() :首先谢谢你,但你的例子我还有些不太明白。
能否说明一下。
我的QQ:27438740
MSN:binger819@hotmail.com
binger819623
2006-08-23
打赏
举报
回复
先感谢SafeSoft() 的回答。你的方法我先试试。
SafeSoft
2006-08-23
打赏
举报
回复
package Excel.doExcel;
import java.io.File;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Category;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.Action;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
*
* @author caoxiang
* 文件下载
*/
public class download extends Action{
//定义logger
private transient Category logger = Category.getInstance(this.getClass().getName());
private static final String MAPPING_SUCCESS = "success";
private static final String MAPPING_FALSE = "success";
//文件下载的处理
public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws IOException {
//如果下载文件还有乱码问题,需要修改相应代码
String filename = new String( request.getParameter("filename").getBytes("GBK"),"8859_1");
//指定虚拟目录以下你的文件的所在地
String filepath = request.getRealPath("/Excel/" +filename);
//System.out.println(filepath);
String f=URLDecoder.decode(filename,"UTF-8");
System.out.println(f);
//MimeMessage mm=jmail.createMimeMessage();
//MimeMessageHelper messageHelper=new MimeMessageHelper(mm,true,"GB2312");
//对文件是否为空进行约束
/*if(isNull(filename)) {
logger.debug("下载出错,文件为空");
return mapping.findForward(MAPPING_FALSE);
}
//对文件格式进行约束
if(checkChar(filename)) {
logger.debug("下载出错,文件格式不符合要求");
return mapping.findForward(MAPPING_FALSE);
}
//对文件路径进行约束,判断下载文件是否存在
if(checkFile(filepath)) {
logger.debug("下载出错,找不到指定的文件");
return mapping.findForward(MAPPING_FALSE);
}
//对文件的类型进行约束,判断下载的文件是否属于指定的文件类型,这里指定的是Excel文件类型
if(checkFileType(filename)) {
logger.debug("下载出错,文件类型错误");
return mapping.findForward(MAPPING_FALSE);
}*/
//指定一个输出文件流,用来进行下载缓存
//excel.readXsl(1,8);
//读取文件完毕,将文件输出到Property文件中
//未完待续,重新压入,然后再本地创建字符缓存的字符型数据,最后将数据延迟在缓存中输出一定数据量,进行界面输出缓存
SafeSoft
2006-08-23
打赏
举报
回复
package fileUpload;
import java.io.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;
import fileUpload.UpLoadForm;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
import java.util.ArrayList;
/**
* <p>Title:UpLoadAction</p>
* <p>Description: QRRSMMS </p>
* <p>Copyright: Copyright (c) 2004 jiahansoft</p>
* <p>Company: jiahansoft</p>
* @author 曹翔
* @version 1.0
*/
public class UpLoadAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
UpLoadForm theForm = (UpLoadForm) form;
String filePath = request.getRealPath("/");//取当前系统路径
FormFile file = theForm.getTheFile();//取得上传的文件
System.out.println(theForm.getTheFile());
try {
InputStream stream = file.getInputStream();//把文件读入
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream(filePath + "/" +
file.getFileName());
//System.out.println();
//建立一个上传文件的输出流
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ( (bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);//将文件写入服务器
}
bos.close();
stream.close();
}catch(Exception e){
System.err.print(e);
}
String fileToBeRead=filePath + "/" +
file.getFileName();
try{
ArrayList mylist=new ArrayList();
//UploadActionList load=new UploadActionList();
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 创建对工作表的引用。
// 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
//HSSFSheet sheet = workbook.getSheet("Sheet1");
HSSFSheet sheet = workbook.getSheetAt(0);
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文档中,第一张工作表的缺省索引是0,
// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
// 读取左上端单元
HSSFRow row = sheet.getRow(0);
HSSFCell cell1 = row.getCell((short)0);
HSSFCell cell2 = row.getCell((short)1);
//输出单元内容,cell.getStringCellValue()就是取所在单元的值
System.out.println("左上端单元是: " + cell1.getNumericCellValue());
//load.setOneStr(cell1.getStringCellValue());
//load.setOneStr(cell2.getStringCellValue());
//mylist.add(load);
request.setAttribute("mylist", mylist);
request.setAttribute("data",row);
}catch(Exception e) {
System.out.println("已运行xlRead() : " + e );
}
File f=new File("c:\\aa.txt");
f.deleteOnExit();
request.setAttribute("dat",file.getFileName());
return mapping.findForward("display");
}
}
加载更多回复(13)
jsp
SmartUpload的使用
详细介绍使用
jsp
SmartUpload来
上传
文件的好处和具体用法
上传
jsp
网页到服务器(空间)的方法[归纳].pdf
上传
jsp
网页到服务器(空间)的方法[归纳].pdf
java+
上传
整个
文件夹
的所有文件
JSP
实现
大文件
上传
和下载,
JSP
实现
大文件批量
上传
和下载,
JSP
实现
大文件分块
上传
和下载,
JSP
实现
大文件分片
上传
和下载,
JSP
实现
大文件切片
上传
和下载,
JSP
实现
文件夹
上传
和下载,
JSP
实现
文件夹
批量
上传
和下载,
JSP
实现
大文件加密
上传
和下载,
JSP
实现
大文件断点续传,
JSP
实现
大文件多线程
上传
和下载,要求支持
文件夹
的
上传
下载,支持断点续传,支持加密传输,端到端的加密传输,
上传
过程中数据加密,下载过程中数据加密,下载后
自动
解密,
上传
支持加密存储,
文件夹
上传
支持保存层级结构,层级结构信息保存到数据库中,
JSP
上传
文件夹
的三种解决方案
对于文件
上传
,浏览器在
上传
的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取
上传
文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件
上传
组件。我们要将Web应用系统中的文件资源提供给用户进行下载,首先我们要有一个页面列出
上传
文件目录下的所有文件,当用户点击文件下载超链接
时
就进行下载操作,编写一个ListFileServlet,用于列出Web应用系统中所有下载文件。支持
文件夹
上传
,且要求在服务端保留层级结构。
java将指定
文件夹
打包
上传
_java+
上传
一个
文件夹
在web项目中
上传
文件夹
现在已经成为了一个主流的需求。在OA,或者企业ERP系统中都有类似的需求。
上传
文件夹
并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便。能够提供更高级的应用支撑。
文件夹
数据表结构CREATETABLEIFNOTEXISTS`up6_folders` (`f_id`char(32)NOTNULL,`f_nameLoc`varchar(255)default'',`...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章