利用Ajax上传二进制文件
来源:互联网 发布:jquery 2.1.1.min.js 编辑:程序博客网 时间:2024/05/16 06:01
网页文件
<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1"><title>利用Ajax上传二进制文件</title><script type="text/javascript"> window.onload = function() { var file = null, fileName = null, xhr = null; function upload(url) { var fileInput = document.getElementById("fileInput"); fileInput.addEventListener("change", function() { file = this.files[0]; fileName = file.name; xhr = new XMLHttpRequest(); xhr.open("POST", url); // 这里会自动设置好请求头 xhr.send(file); // 直接上传二进制文件 }, false); } var uploadBtn = document.getElementById("upload"); uploadBtn.onclick = function() { upload("/Ajax/FileUploader"); }; };</script></head><body> <input type="file" id="fileInput" multiple> <input type="button" id="upload" value="click to upload"></body></html>
后台简单处理
package cn.chd.fileupload;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class FileUploader */public class FileUploader extends HttpServlet { private static final long serialVersionUID = 1L; int count = 1; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = this.getServletContext().getRealPath("/upload"); InputStream in = request.getInputStream(); String contentType = request.getContentType(); // 这里是为了获取文件扩展名,有点小问题 String extention = contentType.substring(contentType.indexOf('/') + 1); OutputStream out = new FileOutputStream(path + "\\" + (count++) + "." + extention); int len = -1; byte[] buffer = new byte[1024]; while ((len = in.read(buffer)) != -1) { out.write(buffer, 0, len); } in.close(); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
0 0
- 利用Ajax上传二进制文件
- 利用WebService上传二进制文件
- 利用ajax实现文件上传
- ajax利用form上传图片
- 利用ajax技术显示上传进度
- 利用iframe来实现ajax文件上传
- 关于利用ajax上传文件的心得
- 利用iframe实现伪ajax上传文件
- php 二进制文件上传
- 利用fstream 读写二进制文件
- 利用fstream 读写二进制文件
- 利用FileReader和FormData实现图片预览和上传(base64转二进制文件)
- 利用js/jq 利用FormData 对象和ajax上传文件
- Qt---QFtp上传、下载二进制文件
- 利用fileupload组件实现掌控上传进度的AJAX Upload
- 利用jquery+iframe做一个ajax上传效果
- jquery ajaxfileupload利用iframe表单提交实现ajax文件上传
- ajax利用html5新特性带进度条上传文件
- JSP动作元素
- 1468: Tree|树的点分治
- 线程
- JavaSE知识集锦(1)深拷贝与浅拷贝
- [pat]1108. Finding Average (20)
- 利用Ajax上传二进制文件
- C#-winform地图定位的实现-百度地图API
- Lua和C++交互详细总结
- 改进后的快速排序--ImprovedQuickSort
- 第三周项目4-穷举法-谁是小偷
- c/C++系列(笔试面试高频题)
- HDU1021Fibonacci Again
- attachEvent与addEventListener区别
- 收集Android studio 常用的插件(持续更新)