为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的文件上传下载

难度初级
时长 3小时30分
学习人数
综合评分9.70
96人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 表单enctype属性
    查看全部
  • 文件上传下载原理
    查看全部
  • 富文本编辑器文件下载: 富文本编辑器的附件实际上是一个超链接点击是直接在浏览器中打开的,下载附件需要在action类中处理,将超链接改成下载链接向后台发送请求
    查看全部
  • 避免上传文件的中文乱码或者重名,将上传文件以时间戳命名 修改CKFinder-2.4.3.jar包中com.ckfinder.connector.handlers.command.FileUploadCommand.java的getFileItemName(final FileItem item)方法,将该方法修改为: private String getFileItemName(final FileItem item) { String origin=item.getName(); return String.valueOf(new Date().getTime())+"."+FileUtils.getFileExtension(origin); } PS:下载CKFinder-2.4.3.jar包对应的源码包,找到需要修改的源码文件,修改后,按原路径放在自己的项目中,会优先调用自己项目中的方法
    查看全部
  • 1、取消在上传图片时图片预览框中图片下的英文注释; 2、取消上传图片浏览服务器中,左下角英文信息; 3、取消上传图片浏览服务器中,图片上方的英文信息;
    查看全部
  • struts2 + ckeditor + ckfinder: 1、普通的空白struts2工程; 2、将下载的ckeditor压缩包解压,复制ckeditor文件夹到工程的WebRoot下,删除样例文件(ckeditor下的samples文件夹) 3、将下载的ckfinder压缩包解压,复制ckfinder文件夹到工程的WebRoot下,删除样例文件(ckfinder下的_samples文件夹) 4、引入Jar包,注意去除重复的jar包,如commons-fileupload.jar、commons-io.jar 5、引入ckfinder的config.xml放在WEB-INF下并修改: <enabled>true</enabled>//启用ckfinder <baseURL>/xxxx/xxx/</baseURL>//上传文件默认保存路径 6、从ckfinder的web.xml文件中复制所有配置信息到工程的web.xml中,struts2的过滤器和ckfinder的过滤器冲突,struts2的拦截"/*",ckfinder的servlet优先会被struts2拦截,该问题有两种方式解决: 6.1. 修改struts2拦截设置 将/*修改为*action 或*.do 6.2. 自定义ckeditor的过滤器,让它来继承Struts2的过滤器Filterpatcher获得完整的Http url的地址,然后判断url地址中是否包含CKEditor的servlet拦截规则“/ckfinder/core/connector/java/*” 7、在ckeditor目录下的config.js编写编辑器的一些属性,并将ckfinder集成到ckeditor中,如下图: 8、在jsp页面中引入ckeditor.js和ckfinder.js文件 <script type="text/javascript" src="<%=request.getContextPath()%>/ckeditor/ckeditor.js"></script> 在JSP页面中使用 <form> <textarea row="10" cols="80" id="editor" name="editor" class="ckeditor">请输入</textarea> </form>
    查看全部
  • 1、要获取前端页面传输过来的参数(不管是控件的、还是URL传参),需要在action类中定义名称和控件name属性值或者URL参数名相同的成员变量,并setter方法; 2、要获取struts.xml中配置的${xxx},需要在action类中设置getter方法才能传值过来; 3、中文文件名称编码转化使用URLEncoder.encode("中文","UTF-8"); struts.xml中的result节点配置注意: 1、result的类型,以前我们定义一个action,result那里我们基本上都不写type属性,因为其默认是请求转发(dispatcher)的方式,除了这个属性一般还有redirect(重定向)等这些值,在这里因为我们用的是文件下载,所以type一定要定义成stream类型,告诉action这是文件下载的result; 2、result元素里面一般还有param子元素,这个是用来设定文件下载时的参数,inputName这个属性就是得到action中的文件输入流,名字一定要和action中的输入流属性名字相同; 3、contentDisposition属性,这个属性一般用来指定我们希望通过怎么样的方式来处理下载的文件,如果值是attachment,则会弹出一个下载框,让用户选择是否下载,如果不设定这个值,那么浏览器会首先查看自己能否打开下载的文件,如果能,就会直接打开所下载的文件(这当然不是我们所需要的); 4、另外一个值就是filename这个就是文件在下载时所提示的文件下载名字,如果是中文则需要URLEncoder.encode("中文文件名","UTF-8")处理。 PS:struts.xml的action节点下配置的<param>,如下面的inputPath,在action类中通过getInputPath()方法可以获取<param>配置的值
    查看全部
  • 批量上传,action类的成员变量类型定义为List 然后循环将上传的文件保存到本地
    查看全部
  • 使用国际化来处理抛出的异常: 国际化文件可以设置为Action级、包级、Application级(一般为该级) 1、在src下创建app_zh_CN.properties文件,在该文件中添加信息name为英文异常信息,value为中文提示 2、在struts.xml中添加国际化文件:如下图
    查看全部
  • struts.xml配置
    查看全部
  • Struts2的文件上传下载实现: 1、前台form表单method="post" enctype="multipart/form-data",Struts2在原有的上传解析器继承上做了进一步的封装,简化了文件上传; 2、Struts2默认使用的是Jakarta和Commons-FileUpload的文件上传框架,使用时需要导入相关的jar包
    查看全部
  • SmartUpload的批量下载:将多个文件打包成一个压缩包文件下载 setComment为压缩包里右边的注释说明
    查看全部
  • SmartUpload下载文件 setContentDisposition(null);//设置响应类型,弹出下载对话框 而原响应类型是打开新窗口
    查看全部
  • SmartUpload获取上传文件的其他信息:
    查看全部
  • SmartUpload常见的异常: 允许上传类型和禁止上传类型只要使用一个即可
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java web 中级课程,建议各位小伙伴们先对 Jsp、Servlet、Jquery以及Struts2有初步认识,再来进修
老师告诉你能学到什么?
1、Java web 文件上传下载原理 2、纯 jsp+servlet 实现文件上传下载思路分析及实现 3、SmartUpload 轻松实现文件上传 4、Struts2 实现文件上传下载

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!