ajax上传
后台处理
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.util.Streams;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.okcoin.util.Logs;
@Controller
@RequestMapping(value="/file/*.do")
public class FileController extends MultiActionController{
public String saveFile(HttpServletRequest request,HttpServletResponse response) throws IOException
{
MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartHttpServletRequest multipartRequest = null;
try {
multipartRequest = resolver.resolveMultipart(request);
} catch (Exception e) {
Logs.geterrorLogger().error("AdminAccountController submitVerifyFile 非常的请求");
}
//接收文件
MultipartFile documentFile = multipartRequest.getFile("file");
//获取文件名
String documentFileName=documentFile.getOriginalFilename();
System.out.println("FileName:" + documentFileName);
BufferedInputStream in = new BufferedInputStream(documentFile.getInputStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("D:\\Users\\" + documentFileName));
Streams.copy(in, out, true);
System.out.println("copy finished.");
return "";
}
}
前端处理
function UpladFile() {
var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
var FileController = "地址"; // 接收上传文件的后台地址
// FormData 对象
var form = new FormData();
form.append("file", fileObj); // 文件对象
// XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
xhr.open("post", FileController, true);
xhr.onload = function() {
// alert("上传完成!");
};
xhr.send(form);
}
ajax 生成表格下载
//生成csv文件
function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
var CSV = '';
if (ShowLabel) {
var row = "";
for (var index in arrData[0]) {
row += index + ',';
}
row = row.slice(0, -1);
CSV += row + '\r\n';
}
for (var i = 0; i < arrData.length; i++) {
var row = "";
for (var index in arrData[i]) {
row += '"' + arrData[i][index] + '",';
}
row.slice(0, row.length - 1);
CSV += row + '\r\n';
}
if (CSV == '') {
alert("Invalid data");
return;
}
var blob = new Blob(["\ufeff" + CSV], {type: 'text/csv'});
var fileName = "";
fileName += ReportTitle.replace(/ /g, "_");
var uri = 'data:text/csv;charset=utf-8,\uFEFF' + encodeURI(CSV);
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.style = "visibility:hidden";
link.download = fileName + ".csv";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
分享到:
相关推荐
在现代Web开发中,"上传文件AJAX"是一项至关重要的技术,它允许用户在不刷新整个页面的情况下,通过异步方式上传文件。这种方式极大地提升了用户体验,因为它使得网页交互更加流畅和快速。AJAX(Asynchronous ...
然而,传统的AJAX并不能直接处理文件上传,因为XMLHttpRequest对象在浏览器的实现中没有提供处理二进制数据的能力。但随着技术的发展,人们找到了利用AJAX进行文件上传的方法,例如通过使用插件或库,如本案例中的...
### AJAX上传下载技术详解 #### 引言 随着互联网技术的发展,用户对于网站交互体验的要求越来越高,其中异步上传和下载功能成为提升用户体验的关键技术之一。AJAX(Asynchronous JavaScript and XML)技术允许网页...
6. **新建 文本文档.txt**:这可能是示例中的一个测试文件,用于演示如何通过Ajax进行下载。在实际应用中,这个文件的名称和类型将由用户选择或由业务逻辑决定。 具体实现步骤: 1. **前端**:在JSP文件中,使用...
ASP.NET AJAX 多文件上传是一种...综上所述,ASP.NET AJAX多文件上传涉及到前端与后端的协同工作,包括异步通信、文件处理、用户交互和错误处理等多个环节。通过合理的实现,可以为用户提供流畅、安全的文件上传体验。
Base64和AjaxUpload上传文件代码实例 Base64和AjaxUpload上传文件代码实例是两种常用的文件上传方式,它们都可以实现文件上传到服务器端,但它们之间有着明显的区别。 Base64上传文件是一种基于文本编码的上传方式...
此外,考虑到安全性,应限制上传文件的类型和大小,防止恶意文件上传。 在这个名为`AjaxUploadPic`的项目中,开发者已经实现了一个这样的系统,可能包括了前端的HTML、CSS、JavaScript代码以及后端的C#控制器。通过...
在Struts2的配置文件中,我们可以定义这些规则,例如限制上传文件的大小,只接受特定类型的文件(如图片、文档等)。此外,我们还需要关注安全问题,防止恶意文件上传。 文件上传的实现通常包括以下几个步骤: 1. ...
在本教程中,我们将探讨如何结合`SpringMVC`和`Ajax`来实现异步文件上传,并讨论短视频背景以及`a`标签绑定文件域的相关知识。 1. **SpringMVC中的文件上传** - **MultipartFile接口**:`SpringMVC`提供了一个名为...
在现代Web应用中,用户经常需要上传文件,如图片、文档等。为了提供更好的用户体验,开发者通常会采用AJAX(Asynchronous JavaScript and XML)技术实现异步文件上传,避免传统方式下页面刷新带来的中断感。AJAX允许...
在“Ajax上传文件Demo”中,我们将探讨以下几个关键知识点: 1. **HTML表单设计**:首先,我们需要一个HTML表单让用户选择要上传的文件。`<input type="file" id="fileInput">` 是一个基本的文件选择控件,`id`属性...
Spring MVC提供了强大的支持来处理文件的上传与下载,同时结合AJAX技术,可以实现无刷新的交互体验。在这个场景中,"springmvc ajax 文件上传下载文件 multiple" 涉及到的关键知识点包括: 1. **Spring MVC中的文件...
在现代Web应用中,"Ajax上传文件"是一个重要的技术,它允许用户在不刷新整个页面的情况下,通过异步方式上传文件。这种方式极大地提升了用户体验,因为它提供了实时反馈,并减少了页面加载时间。下面我们将深入探讨...
这篇博客“使用AJAX上传文件及表单数据”主要讲解了如何利用AJAX实现文件和表单数据的异步提交,提高用户体验。下面我们将详细探讨这一主题。 首先,AJAX的核心是XMLHttpRequest对象,它提供了一种在后台与服务器...
在.NET Web Form中实现AJAX文件上传是一种提升用户体验的有效方式,因为它允许用户在不刷新整个页面的情况下上传文件。本示例使用了`ajaxfileupload.js`脚本库和`.ashx`处理程序来完成这一任务。`ajaxfileupload.js`...
Ajax上传的优势在于它可以在不刷新页面的情况下完成文件上传,提高用户体验。以下是一个简单的jQuery实现示例: 1. HTML部分: ```html 上传 <div id="progressBar"></div> ``` 2. JavaScript部分: ```...
[上传下载]Ajax UpLoadFile 多个大文件上传控件 v1.15_ltajaxupfilecontrol.zip源码A[上传下载]Ajax UpLoadFile 多个大文件上传控件 v1.15_ltajaxupfilecontrol.zip源码A[上传下载]Ajax UpLoadFile 多个大文件上传...
一、AJAX上传文件基础 1. **XMLHttpRequest对象**:AJAX的核心是XMLHttpRequest对象,它允许在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。在JavaScript中创建XMLHttpRequest实例,然后通过open...
- `encType`:设置为 `multipart/form-data`,这是上传文件所需的 MIME 类型。 - `method`:设置为 `POST` 方法,以安全地传输文件数据。 - `target`:指定表单提交后的结果将显示在哪个 iframe 中。 2. **...
Struts AJAX 文件上传是一种在Java Web开发中实现异步数据传输的技术,它结合了Struts框架和AJAX(Asynchronous JavaScript and XML)的优势,提供了一种用户友好的、无刷新的文件上传方式。这种方式可以显著提升...