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

Java中的文件上传下载

难度初级
时长 3小时30分
学习人数
综合评分9.70
96人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 在jsp脚本中可以使用: <script> //将普通的文本域替换成富文本编辑器,参数是文本域的name值. CKEDITOR.replace('editor1'); //获取文本域中填写的值 var text=CKEDITOR.instances.editor1.getData(); if(text==null || text==""){ alert("请输入内容"); } </script>
    查看全部
  • 前台jsp页面需要分别引入ckeditor.js、ckfinder.js并定义一个表单,表单中使用文本域,文本域的class属性为ckeditor. <script src="<%=request.getContextPath()%>/ckeditor/ckeditor.js"></script> <script src="<%=request.getContextPath()%>/ckfinder/ckfinder.js"></script> <body> <form action="" method="post"> <textarea class="ckeditor" rows="20" cols="20" name="editor1" id="editor1" > 请输入: </textarea> <input type="submit" value="提交"> </form> </body> <script>
    查看全部
  • web.xml中添加ckfinder配置: <servlet> <servlet-name>ConnectorServlet</servlet-name> <servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class> <init-param> <param-name>XMLConfig</param-name> <param-value>/WEB-INF/config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ConnectorServlet</servlet-name> <url-pattern> /ckfinder/core/connector/java/connector.java </url-pattern> </servlet-mapping> 如果web.xml中使用了Struts2框架,则需要把<url-pattern>/*</url-pattern>中的/*改为*.action
    查看全部
  • 在导入工程的ckeditor的文件夹下的config.js文件中需要添加: // 在 CKEditor 中集成 CKFinder,注意 ckfinder的路径选择要正确(第一个是项目名). config.filebrowserBrowseUrl = '/ckDownLoad/ckfinder/ckfinder.html' ; config.filebrowserImageBrowseUrl = '/ckDownLoad/ckfinder/ckfinder.html?type=Images' ; config.filebrowserFlashBrowseUrl = '/ckDownLoad/ckfinder/ckfinder.html?type=Flash' ; config.filebrowserUploadUrl = '/ckDownLoad/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files' ; config.filebrowserImageUploadUrl = '/ckDownLoad/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images' ; config.filebrowserFlashUploadUrl = '/ckDownLoad/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' ; config.filebrowserWindowWidth = '1000'; config.filebrowserWindowHeight = '700'; config.language = "zh-cn" ;
    查看全部
  • 富文本文件上传与下载: 使用CKEditor与CKFinder. CKEditor只是一个富文本编辑器,没有文件浏览与文件上传的功能. CKFinder是用来上传文件和浏览服务器上的文件的,和CKEditor配合实现文件上传. 首先分别下载zip包.将解压后的CKEditor的ckeditor的文件夹复制到项目的WebRoot下. 将解压后的CKFinder的ckfinder文件夹(E:\ckfinder\_sources\CKFinder for Java\WebApp\src\main\webapp\ckfinder)也复制到项目的WebRoot下. 导入ckfinder需要用的jar包. 把E:\ckfinder\_sources\CKFinder for Java\WebApp\src\main\webapp\WEB-INF下的config.xml文件复制到项目的WEB-INF下. config.xml中: 把<enabled>false</enabled>改为true.(如果要支持文件和图片上的上传则要设为true) 把<baseURL>/ckDownLoad/userfiles/</baseURL>中的第一个改为自己项目名.(用户上传的文件将会保存在userfiles文件夹下)
    查看全部
  • 返回下载文件的名称如果返回的是中文的,则需要进行编码. public String getDownloadFileName(){ String str=""; //使用URLEncoder的encode(String con,String type)静态方法进行编码.参数分别是需要进行编码的内容与编码的字符集. str=URLEncoder.encode("文件下载","utf-8") return str; }
    查看全部
  • action中: //存放要下载文件的路径与名称,xml中自己配置(固定值). private String downloadName; //客户端表单中提交上来下载的文件名. private String filename; //动态设置文件下载时的名称,get()方法直接返回一个内容.xml中通过ognl获取. private String downloadFileName 生成get/set()方法 public String getDownloadFileName(){ return "downloadfile"; } //getDownloadFile()方法返回的必须是InputStream类型,getResourceAsStream()方法可以通过流的方式将资源输出. public InputStream getDownloadFile() throws Exception { return ServletActionContext.getServletContext().getResourceAsStream(downloadName); 或者使用FileUtils.openInputStream的方法返回输入流,参数是File对象. String path=ServletActionContext.getServletContext().getRealPath("/")+"images"; String downLoadpath=path+"/"+filename; File downLoadFile=new File(downLoadpath); return FileUtils.openInputStream(downLoadFile); } public String execute() throws Exception { return SUCCESS; } }
    查看全部
  • <result>标签type默认为dispatcher.在处理文件下载的操作时,必须将type显式设置为stream类型. stream主要向浏览器发送InputStream对象,通常用来处理下载文件,还可用于返回AJAX数据. 接下来就需要设置类型为Stream的<result>标签的三个重要的属性: contentType属性:用来指定下载文件的类型,图片类型即image/jpg等.文件类型为application/octet-stream或者application/x-msdownload的方式. contentDisposition属性:用来设定显示的文件名,就是在点击下载链接时显示在提示框中的文件名.该属性可以设定两个值,它的第一个值用来设定文件打开方式,默认的是inline即在浏览器中打开, 也可设定attachment.即无论是什么类型的文件,它也会弹出一个下载框,供用户选择打开或下载. 如<param name="contentDisposition">attachment;filename="Struts2.ppt"</param> inputName属性:它对应着Action中返回inputStream的方法名,假设inputName设为downFile,则Action中必定有一个返回inputStream的getDownFile()方法.
    查看全部
  • Struts2实现文件下载: jsp页面: 下载:<a href="downloadaction.action?filename=1.jpg">1.jpg</a> 请求提交到downloadaction中,Strut.xml中配置该action: <action name="download" class="com.own.action.DownloadAction"> <param name="downloadName">/images/1.jpg</param> <result name="success" type="stream"> <param name="contentType">application/octet-stream</param> <param name="contentDisposition">attachment;filename="${downloadFileName}"</param> <param name="inputName">downloadFile</param> </result> </action>
    查看全部
  • Struts2中的<param>标签和Spring里面的bean差不多的,其实就是一个绑定传递参数(赋值). <action..> <param name="username">admin</param> <result> <param name="contentType">...</param> </result> </action> 第一个<param>用来给action中的属性赋值.action中必须要有该属性,并有对应的set/get方法. 第二个<param>用来为<result>中的属性赋值. 在Action中,可以直接使用ServletActionContext类的getServletContext()静态方法获取得到上下文对象. ServletContext.getResourceAsStream(String path) :默认从WebAPP根目录下取资源,Tomcat下path是否以'/'开头无所谓. FileUtils.openInputStream(File f)方法是打开一个指向File的输出流. 把输入流返回给客户端,因此客户端读取的时候,就可以直接读取该文件的内容.、 使用Strut2实现文件下载,是返回一个输入流给客户端,它会自己读取,不需要在Struts2中通过输出流写入给客户端. ognl表达式用{}获取Action中的属性值.Action中的属性值必须要有get()方法.
    查看全部
  • 上传的步骤
    查看全部
  • 上传思路
    查看全部
  • 下载原理
    查看全部
  • 拦截器fileupLoad中,限制最大文件上传大小参数最多只能是2M <interceptor-ref name="fileUpload"> <param name="maximumSize">2M</param> </interceptor-ref> 因此当超过2M时就会抛出其他错误,因此需要在Struts.xml中添加: <constant name="struts.multipart.maxSize" value="9000000"/>标签来设置上传文件的最大值.
    查看全部
  • struts2实现批量上传: 1.在jsp的表单中添加多个file文件域,name值都一样. 2.在action中,则以List<File>的形式保存客户端上传的文件.以List<String>的形式分别保存客户端上传提交的文件名以及文件类型. 3.在action的方法中,使用for循环. 循环体内FileUtils.copyFile(upload.get(i),new File(path,uploadFileName.get(i)));
    查看全部

举报

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

微信扫码,参与3人拼团

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

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