ajax框架怎么学,Ajax框架之DWR学习(文件上传案例)
DWR文件上传起来 还是挺方便的,直接就是咔咔的上传 ,实现了静态的文件上传,老爽了,需要依赖commons-fileupload 这个上传包。
目录结构
环境搭建
pom.xml
commons-fileupload 这个是文件上传所需要的依赖包
xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
yellowcong
day11_29
war
0.0.1-SNAPSHOT
day11_29 Maven Webapp
https://maven.apache.org
junit
junit
4.10
test
org.directwebremoting
dwr
3.0.2-RELEASE
commons-logging
commons-logging
1.0.4
commons-fileupload
commons-fileupload
1.3.1
day11_29
web.xml
xmlns="https://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="https://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
day1_27_dwr
org.directwebremoting.servlet.DwrListener
dwr-invoker
org.directwebremoting.servlet.DwrServlet
debug
true
1
dwr-invoker
/dwr/*
index.jsp
dwr.xml配置
上传服务
package com.yellowcong.service;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
public class UploadService {
/**
* 这个导入的是InputStream 的方法,而不是通过 File
*
* @param in
* 输入流
* @param filename
* 文件名称
* @return
* @throws IOException
*/
public String upload(InputStream in, String filename) throws IOException {
// 对于 服务器,我们需要通过ServletContext 获取我们的绝对路径 ,存储在可操作的文件夹中
//这个对象是DWR给我们封装的
WebContext context = WebContextFactory.get();
//获取文件路径
String path =context.getServletContext().getRealPath("/resources/");
//新建文件
File outFile = new File(path+File.separator+filename);
System.out.println(outFile.getAbsolutePath());
//当文件夹不存在的情况新建
if(!outFile.getParentFile().exists()){
outFile.getParentFile().mkdirs();
}
//写文件
FileUtils.copyInputStreamToFile(in, outFile);
return outFile.getAbsolutePath();
}
}
界面
index.jsp
pageEncoding="UTF-8"%>
function uploadFile(){
var file = document.getElementById("file_upload");
var names = file.value.split("\");
var fileName = names[names.length-1];
UploadService.upload(file,fileName,function(data){
alert("文件路径t"+data);
});
}
文件上传
运行结果
上传文件
ajax框架怎么学,Ajax框架之DWR学习(文件上传案例)相关推荐
- SpringMVC(SSM)框架搭建JavaWeb项目时,前端页面文件上传,后台Java下载功能实现及相关问题记录说明
看在前面:前端页面通过input控件实现文件上传,后台Java使用SpringMVC框架的实现网上有较多教程,但是真正配置一遍下来不报错的较少,所以本博客前面先介绍一遍完整的设置步骤,然后介绍遇到的一 ...
- (27) java web的struts2框架的使用-基于表单的多文件上传
和单个文件上传配置都是一样的,只是在action中接受参数时候,接受的是数组,不再是单个的文件. 一,action的实现: public class MutableFilesUpload extend ...
- java 文件上传ssm_ssm框架下实现文件上传
1.由于ssm框架是使用Maven进行管理的,文件上传所需要的jar包利用pom.xml进行添加,如下所示: 1.3.1 2.4 commons-io commons-io ${commons-io. ...
- vueform表单文件上传_峰哥说技术系列-8.Spring Boot文件上传(Form表单和Ajax方式)
今日份主题 Spring Boot文件上传(Form表单和Ajax方式) 在Spring Boot中,和文件上传的主要和MultipartResolver接口有关,他有两个实现类 StandardSe ...
- 基于OkHttp 、Retrofit 、Volley 、RxJava、Novate多种网络框架整合的快速项目开发框架,一行代码实现Ftp文件上传、文件下载、文件删除和进度监听的工具类的使用
基于OkHttp .Retrofit .Volley .RxJava.Novate多种网络框架整合的快速项目开发框架,Ftp文件上传.文件下载的工具类的使用. 依赖于Ftp的jar包,对上传.下载.删 ...
- 基于Python Flask框架+jquery Ajax技术实现的增删改查(CRUD)+Ajax的异步文件上传
运行界面(话不多说先上图) 运行之后的index界面,有登陆.注册功能 登陆界面,输入数据库中用户名.密码不为空且密码是加密的数据,进入main界面 注册界面,用的bootstrop的弹窗,用户名和密 ...
- 自学Python第二十二天- Django框架(三) AJAX、文件上传、POST 请求类型之间的转换、多APP开发、iframe、验证码、分页器、类视图、中间件、信号、日志、缓存、celery异步
Django官方文档 django 使用 AJAX django 项目中也可以使用 ajax 技术 前端 前端和其他 web 框架一样,需要注意的是,django 接收 POST 请求时,需要 csr ...
- 原生态的ajax如何上传文件,原生ajax和iframe框架实现图片文件上传的两种方式
大家应该可以举出几种常用的异步文件上传功能的实现方式,使用频率较多的有原生ajax和iframe框架,实现图片文件上传,下面就为大家分享图片文件上传的两种方式:原生ajax和iframe框架,供大家参 ...
- 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
1. 实现传统的网络文件上传解决方案 首先,我先实现一个传统的网络文件上传方案,建立一个web页面,我还需要一个<form>和两个<input>元素就能解决问题,如在Index ...
最新文章
- 【转修正】sql server行版本控制的隔离级别
- 实战:使用 Python 用不到 10 行代码计算汽车数量
- 研发效能改进的实践方法
- Setup best practices for Agile Scrum in your organization
- 关于JQUery.parseJSON()函数的知识札记
- Java学习规划及就业规划(本人大三)
- maven离线安装jar包
- 应届生怒怼管理层后续:已离职、被标记永不录用?腾讯张军回应...
- python接口自动化测试(五)-其它(认证代理超时配置)
- ZOJ 3511 Cake Robbery
- suse使用ISO文件制作zypper源
- 疯狂的程序员阅读笔记
- 如何设置无线网络中计算机的ip,无线网络设置方法【详细步骤】
- mongoengine fields详解
- C语言第一个程序——一个简单的Hello world!程序
- 在本地存储中存入和取出对象
- 传智java测试题答案_传智播客Java基础第一阶段习题
- 塑壳断路器用考虑启动电流么_塑壳断路器和微型断路器的区别
- Dunn检验的介绍和python实现
- 滴水逆向 C语言部分