DWR第五篇之文件上传

1. 在第一篇架构基础上进行

2. 修改maven依赖

 1 <dependencies>
 2     <dependency>
 3         <groupId>org.directwebremoting</groupId>
 4       <artifactId>dwr</artifactId>
 5       <version>3.0.1-RELEASE</version>
 6     </dependency>
 7     <dependency>
 8       <groupId>commons-logging</groupId>
 9       <artifactId>commons-logging</artifactId>
10       <version>1.2</version>
11     </dependency>
12     <dependency>
13         <groupId>commons-fileupload</groupId>
14         <artifactId>commons-fileupload</artifactId>
15         <version>1.3.1</version>
16     </dependency>
17     <dependency>
18         <groupId>commons-io</groupId>
19         <artifactId>commons-io</artifactId>
20         <version>2.4</version>
21     </dependency>
22 </dependencies>

3. 编写jsp页面

 1 <html>
 2 <head>
 3 <base href="<%=basePath%>">
 4
 5 <title>dwr</title>
 6 <script type=‘text/javascript‘ src=‘dwr/engine.js‘></script>
 7 <script type=‘text/javascript‘ src=‘dwr/util.js‘></script>
 8 <script type=‘text/javascript‘ src=‘dwr/interface/CoreServlet.js‘></script>
 9 </head>
10 <body>
11
12     <input type="file" name="file" />
13     <button onclick="upload();">上传</button>
14
15 </body>
16 <script type="text/javascript">
17     function upload() {
18         var file = dwr.util.getValue("file");
19         CoreServlet.uploadFile(file, file.value, function(data) {
20             if (data == true) {
21                 alert("上传成功!");
22             }
23         });
24     }
25 </script>
26 </html>

4. 编写后台代码:

 1 public class CoreServlet {
 2
 3     public boolean uploadFile(InputStream is, String path) throws Exception {
 4         String fileName = path.substring(path.lastIndexOf("\\") + 1, path.length());
 5         FileOutputStream fos = new FileOutputStream(new File("E://" + fileName));
 6         byte[] b = new byte[1024];
 7         while ((is.read(b)) != -1) {
 8             fos.write(b);
 9         }
10         is.close();
11         fos.close();
12         return true;
13     }
14
15 }
时间: 2025-01-06 17:49:15

DWR第五篇之文件上传的相关文章

【SSH三大框架】Struts2基础第五篇:文件上传

首先,我们建立一个web项目,然后导入:commons-fileupload.commons-io这两个jar包,当然还有其它的struts2需要的jar包 其次,我们还是先配置一下struts2的拦截器:web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/java

Linux 指令篇:文件上传和下载 lrzsz

[ "lrzsz"一般用于SecureCRT ssh中使用 ] 简介:rz,sz是早期Linux/Unix同Windows进行ZModem文件传输的命令行工具.rz ,sz 是非常古老的zmodem协议使用的上传下载命令,早就被抛弃了的东西,目前的发行版基本都不再预装. 优点:比ftp命令方便,而且服务器不用打开FTP服务. 命令sz:将选定的文件发送(send)到本地机器 命令rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器. lrzsz安装方法: [[e

上一篇写的文件上传,这一篇写文件上传中回报的错误,以及解决办法

文件上传不了,有以下几种情况: 1).form表单后面的enctype="multipart/form-data"没有,导致无法以流的形式写入. 2).第一条有的话,当点击提交的时候,直接返回strut中的error返回结果,没有fileerror提示或者提示文件太大. 原因:是因为你上传的文件或者图片大小位于struts中拦截器配置中文件大小限制的值(总)(<constant name="struts.multipart.maxSize" value=&qu

python——基础篇-简易文件上传

post_server import socket import os sk=socket.socket() address=('127.0.0.1',8000) sk.bind(address) sk.listen(3) print('waiting...') BASE_DIR=os.path.dirname(os.path.abspath(__file__)) while 1: conn,addr=sk.accept() while 1: data=conn.recv(1024) cmd,f

Android volley 解析(三)之文件上传篇

前面我们讲了如何通过 volley 实现表单的提交,而这篇文章跟上一篇衔接很大,如果没有看上一篇 blog 的朋友,建议先去看看 Android Volley解析(二)之表单提交篇 因为文件上传实质就是表单的提交,只不过它提交的数据包含文件类型,接下来还是按照表单提交的套路来分析. 数据格式 这里我们通过图片上传的案例来分析,其他文件也是同样的实现方式:以下是我在传图网传图时,上传的数据格式,先来分析一下 POST http://chuantu.biz/upload.php HTTP/1.1 H

C#模拟请求,模拟登录,Cookie设置、文件上传等问题汇总

由于业务需求,最近需要模拟完成登陆某个网站,并上传所需要的文件.在开发途中,遇到了很多问题,现在,就我遇到的一些问题及解决办法说明如下,希望对遇到同样问题的人有所帮助.因为技术有限,可能有些内容并不完全正确或者理解有偏差,希望大家不要见怪,有不同的想法可以留言,我们共同学习,这也是我开始写博客的初衷之一. 模拟请求,首先我觉得我们需要明确的是,模拟那些请求,我们模拟请求要完成那些操作,就拿我上面的功能来说,我需要模拟登录某个网站,然后打开固定的页面,输入关键字,查找相关信息,然后上传所需要的文件

图片文件上传

一.文件上传条件: 1.依赖表单,请求方式为post, enctype="multipart/form-data" 2.表单中有file类型的input 二.提交文件上传的表单,不需要页面跳转,用jquery.form.js插件.以ajax方式提交表单 1 function submitUpload(){ 2 var option = { 3 url:path+"/upload/uploadPic.do",//上传的url 4 dataType:"text

一、虚拟环境.二、路由配置主页与404.三、2.x路由分发.四、伪静态.五、request对象.六、FBV与CBV.七、文件上传.

一.虚拟环境 ''' 解决版本共存 1. 用pycharm选择File点击NewProject然后选择virtualenv创建一个纯净环境 2. 打开下载的目录将venv文件夹下的所有文件(纯净的环境)copy到需要指定长期使用的文件夹下 3. 再次创建项目时,将该环境(指定长期使用的文件夹下Scripts文件夹中的python.exe文件)添加到pycharm环境选择(System Interpreter)中 4. 为该环境添加需要处理的版本共存包 ''' 二.路由配置主页与404 ''' 路

Extjs中用dwr实现文件上传时,fileuploadfield不能正常显示的问题

当使用DWR调用Extjs的fileuploadfield 来做文件上传时,不能实现上传操作,需要修改dwr对应jar包中的engine.js文件 将1808行 var clone =value.cloneNode(true); 1812行  value.parentNode.insertBefore(clone,value); 注释掉 通过  var file = dwr.util.getValue("uploadFile");  获取fileuploadfield 对应的值 版权声