Uploadify是JQuery的一个上传插件,实现的效果非常不错,进度显示或者速度显示都可以!
同时。。我已经使用最新版写了个。大家可以看这么的这个。。
文章: JQuery上传插件Uploadify并传参数(二)
链接: http://yangpanwww.iteye.com/blog/1550508
也可以去看看官网上面的 dome 下载包...API 等
下面是我开发过程遇到的一些问题总结:
1、上传失败 IO ERROR ------测试是否是 servlet 等配置或者关注flash的版本
2、前台传参中文乱码 -----------这个要根据应用服务器不同可能不同吧...反正只要我们的 界面、界面传参以及后台接收的编码设置一致应该就没上面问题..反正这个问题好解决的...
3、批量上传的时候,只有第一个附件上传的时候可以接收到前台传来的name参数,而后面的参数都为null-------设置'simUploadLimit' : 1, // 一次同步上传的文件数目为 1,问题解决...当初这个问题可是难了我好久!fuck
嘿嘿....下面我贴出代码
jsp:
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
- <%
- String path = request.getContextPath();
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>QQ:609865047 --- 妞见妞爱</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- </head>
- <body>
- <link href="js/uploadify.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
- <script type="text/javascript" src="js/swfobject.js"></script>
- <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function() {
- $("#uploadify").uploadify({
- 'uploader' : 'js/uploadify.swf',
- 'script' : 'scripts/uploadify',//servlet的路径或者.jsp 这是访问servlet 'scripts/uploadif'
- 'method' :'GET', //如果要传参数,就必须改为GET
- 'cancelImg' : 'js/cancel.png',
- 'folder' : 'uploads', //要上传到的服务器路径,
- 'queueID' : 'fileQueue',
- 'auto' : false, //选定文件后是否自动上传,默认false
- 'multi' : true, //是否允许同时上传多文件,默认false
- 'simUploadLimit' : 1, //一次同步上传的文件数目
- 'sizeLimit' : 19871202, //设置单个文件大小限制,单位为byte
- 'queueSizeLimit' : 5, //限制在一次队列中的次数(可选定几个文件)。默认值= 999,而一次可传几个文件有 simUploadLimit属性决定。
- 'fileDesc' : '支持格式:jpg或gif', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
- 'fileExt' : '*.jpg;*.gif',//允许的格式
- 'scriptData' :{'name':$('#name').val()}, // 多个参数用逗号隔开 'name':$('#name').val(),'num':$('#num').val(),'ttl':$('#ttl').val()
- onComplete: function (event, queueID, fileObj, response, data) {
- var value = response ;
- alert("文件:" + fileObj.name + "上传成功");
- },
- onError: function(event, queueID, fileObj) {
- alert("文件:" + fileObj.name + "上传失败");
- },
- onCancel: function(event, queueID, fileObj){
- alert("取消了" + fileObj.name);
- }
- });
- });
- function uploasFile(){
- //校验
- var name=document.getElementById("name").value;
- if(name.replace(/\s/g,'') == ''){
- alert("名称不能为空!");
- return false;
- }
- //设置 scriptData 的参数
- $('#uploadify').uploadifySettings('scriptData',{'name':$('#name').val()});
- //上传
- jQuery('#uploadify').uploadifyUpload()
- }
- </script>
- 名称:<input type="text" id="name" name="name" value="妞见妞爱" >
- <div id="fileQueue"></div>
- <input type="file" name="uploadify" id="uploadify" />
- <p>
- <a href="javascript:uploasFile()">开始上传</a>
- <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
- </p>
- </body>
- </html>
Uploadify.java
- package com;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Iterator;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.fileupload.FileItem;
- import org.apache.commons.fileupload.FileUploadException;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- import org.apache.commons.fileupload.util.Streams;
- public class Uploadify extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * 实现多文件的同时上传
- */
- public void doGet(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
- //设置接收的编码格式
- request.setCharacterEncoding("UTF-8");
- Date date = new Date();//获取当前时间
- SimpleDateFormat sdfFileName = new SimpleDateFormat("yyyyMMddHHmmss");
- SimpleDateFormat sdfFolder = new SimpleDateFormat("yyMM");
- String newfileName = sdfFileName.format(date);//文件名称
- String fileRealPath = "";//文件存放真实地址
- String fileRealResistPath = "";//文件存放真实相对路径
- //名称 界面编码 必须 和request 保存一致..否则乱码
- String name = request.getParameter("name");
- String firstFileName="";
- // 获得容器中上传文件夹所在的物理路径
- String savePath = this.getServletConfig().getServletContext().getRealPath("/") + "uploads\\" + newfileName +"\\";
- System.out.println("路径" + savePath);
- File file = new File(savePath);
- if (!file.isDirectory()) {
- file.mkdir();
- }
- try {
- DiskFileItemFactory fac = new DiskFileItemFactory();
- ServletFileUpload upload = new ServletFileUpload(fac);
- upload.setHeaderEncoding("UTF-8");
- // 获取多个上传文件
- List fileList = fileList = upload.parseRequest(request);
- // 遍历上传文件写入磁盘
- Iterator it = fileList.iterator();
- while (it.hasNext()) {
- FileItem item = (FileItem) it.next();
- // 如果item是文件上传表单域
- // 获得文件名及路径
- String fileName = item.getName();
- if (fileName != null) {
- firstFileName=item.getName().substring(item.getName().lastIndexOf("\\")+1);
- String formatName = firstFileName.substring(firstFileName.lastIndexOf("."));//获取文件后缀名
- fileRealPath = savePath + newfileName+ formatName;//文件存放真实地址
- BufferedInputStream in = new BufferedInputStream(item.getInputStream());// 获得文件输入流
- BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(new File(fileRealPath)));// 获得文件输出流
- Streams.copy(in, outStream, true);// 开始把文件写到你指定的上传文件夹
- //上传成功,则插入数据库
- if (new File(fileRealPath).exists()) {
- //虚拟路径赋值
- fileRealResistPath=sdfFolder.format(date)+"/"+fileRealPath.substring(fileRealPath.lastIndexOf("\\")+1);
- //保存到数据库
- System.out.println("保存到数据库:");
- System.out.println("name:"+name);
- System.out.println("虚拟路径:"+fileRealResistPath);
- }
- }
- }
- } catch (FileUploadException ex) {
- ex.printStackTrace();
- System.out.println("没有上传文件");
- return;
- }
- response.getWriter().write("1");
- }
- public void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- doGet(req, resp);
- }
- }
web.xml
- <servlet>
- <servlet-name>Uploadify</servlet-name>
- <servlet-class>com.Uploadify</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Uploadify</servlet-name>
- <url-pattern>/scripts/uploadify</url-pattern>
- </servlet-mapping>
效果图片看及 dome 见附件~~~~~~~~~~~
我也是根据 dada_fangfang 大哥 http://dada-fangfang.iteye.com/blog/865177 文章改进来的....
这边有 struts 和 springmvc 的写法...但是..他那边就纯粹的上传文件...如果还需要传参数的话!
我的这篇就 希望对大家有所帮助!
效果图:
图1:
图2:
Uploadify是一个Jquery框架下处理批量文件上传的插件,支持多种服务器端软件。
文档:http://www.uploadify.com/documentation/
今天根据文档写了个批量上传的的功能..
下面直接进入主题:
界面效果:
界面代码:
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
- <%
- String path = request.getContextPath();
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Uploadify上传</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <link rel="stylesheet" href="uploadify/uploadify.css" type="text/css"></link>
- <script type="text/javascript" src="uploadify/jquery-1.7.2.min.js"></script>
- <script type="text/javascript"
- src="uploadify/jquery.uploadify-3.1.min.js"></script>
- <script type="text/javascript">
- $(function() {
- $("#file_upload").uploadify({
- 'height' : 27,
- 'width' : 80,
- 'buttonText' : '浏 览',
- 'swf' : '<%=path%>/uploadify/uploadify.swf',
- 'uploader' : '<%=path%>/servlet/UploadifySerlet',
- 'auto' : false,
- 'fileTypeExts' : '*.xls',
- 'formData' : {'userName':'','qq':''},
- 'onUploadStart' : function(file) {
- //校验
- var name=$('#userName').val();
- if(name.replace(/\s/g,'') == ''){
- alert("名称不能为空!");
- return false;
- }
- //校验
- var qq=$('#qq').val();
- if(qq.replace(/\s/g,'') == ''){
- alert("QQ不能为空!");
- return false;
- }
- $("#file_upload").uploadify("settings", "formData", {'userName':name,'qq':qq});
- //$("#file_upload").uploadify("settings", "qq", );
- }
- });
- });
- </script>
- </head>
- <body>
- 名称: <input type="text" id="userName" name="userName" value="妞见妞爱">
- <br>
- QQ: <input type="text" id="qq" name="qq" value="609865047">
- <br>
- <input type="file" name="uploadify" id="file_upload" />
- <hr>
- <a href="javascript:$('#file_upload').uploadify('upload','*')">开始上传</a>
- <a href="javascript:$('#file_upload').uploadify('cancel', '*')">取消所有上传</a>
- </body>
- </html>
关于各个参数的介绍,网上也有很多。。我们也可以在 jquery.uploadify-3.1.js 中找到。
- var settings = $.extend({
- // Required Settings
- id : $this.attr('id'), // The ID of the DOM object
- swf : 'uploadify.swf', // The path to the uploadify SWF file
- uploader : 'uploadify.php', // The path to the server-side upload script
- // Options
- auto : true, // Automatically upload files when added to the queue
- buttonClass : '', // A class name to add to the browse button DOM object
- buttonCursor : 'hand', // The cursor to use with the browse button
- buttonImage : null, // (String or null) The path to an image to use for the Flash browse button if not using CSS to style the button
- buttonText : 'SELECT FILES', // The text to use for the browse button
- checkExisting : false, // The path to a server-side script that checks for existing files on the server
- debug : false, // Turn on swfUpload debugging mode
- fileObjName : 'Filedata', // The name of the file object to use in your server-side script
- fileSizeLimit : 0, // The maximum size of an uploadable file in KB (Accepts units B KB MB GB if string, 0 for no limit)
- fileTypeDesc : 'All Files', // The description for file types in the browse dialog
- fileTypeExts : '*.*', // Allowed extensions in the browse dialog (server-side validation should also be used)
- height : 30, // The height of the browse button
- method : 'post', // The method to use when sending files to the server-side upload script
- multi : true, // Allow multiple file selection in the browse dialog
- formData : {}, // An object with additional data to send to the server-side upload script with every file upload
- preventCaching : true, // Adds a random value to the Flash URL to prevent caching of it (conflicts with existing parameters)
- progressData : 'percentage', // ('percentage' or 'speed') Data to show in the queue item during a file upload
- queueID : false, // The ID of the DOM object to use as a file queue (without the #)
- queueSizeLimit : 999, // The maximum number of files that can be in the queue at one time
- removeCompleted : true, // Remove queue items from the queue when they are done uploading
- removeTimeout : 3, // The delay in seconds before removing a queue item if removeCompleted is set to true
- requeueErrors : false, // Keep errored files in the queue and keep trying to upload them
- successTimeout : 30, // The number of seconds to wait for Flash to detect the server's response after the file has finished uploading
- uploadLimit : 0, // The maximum number of files you can upload
- width : 120, // The width of the browse button
上面是默认的设置。。。
服务器端代码:
- package com.yangpan.uploadify;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import java.text.SimpleDateFormat;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Random;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.fileupload.FileItem;
- import org.apache.commons.fileupload.FileUploadException;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- public class UploadifySerlet extends HttpServlet {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- //上传文件的保存路径
- protected String configPath = "attached/";
- protected String dirTemp = "attached/temp/";
- protected String dirName = "file";
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- this.doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setContentType("text/html; charset=UTF-8");
- PrintWriter out = response.getWriter();
- //文件保存目录路径
- String savePath = this.getServletContext().getRealPath("/") + configPath;
- // 临时文件目录
- String tempPath = this.getServletContext().getRealPath("/") + dirTemp;
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
- String ymd = sdf.format(new Date());
- savePath += "/" + ymd + "/";
- //创建文件夹
- File dirFile = new File(savePath);
- if (!dirFile.exists()) {
- dirFile.mkdirs();
- }
- tempPath += "/" + ymd + "/";
- //创建临时文件夹
- File dirTempFile = new File(tempPath);
- if (!dirTempFile.exists()) {
- dirTempFile.mkdirs();
- }
- DiskFileItemFactory factory = new DiskFileItemFactory();
- factory.setSizeThreshold(20 * 1024 * 1024); //设定使用内存超过5M时,将产生临时文件并存储于临时目录中。
- factory.setRepository(new File(tempPath)); //设定存储临时文件的目录。
- ServletFileUpload upload = new ServletFileUpload(factory);
- upload.setHeaderEncoding("UTF-8");
- try {
- List items = upload.parseRequest(request);
- Iterator itr = items.iterator();
- String name = "";
- String qq = "";
- while (itr.hasNext()) {
- FileItem item = (FileItem) itr.next();
- String fileName = item.getName();
- long fileSize = item.getSize();
- if (!item.isFormField()) {
- String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
- SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
- String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
- try{
- File uploadedFile = new File(savePath, newFileName);
- /*
- * 第一种方法
- *
- * 好处: 一目了然..简单啊...
- * 弊端: 这种方法会导致上传的文件大小比原来的文件要大
- *
- * 推荐使用第二种
- */
- //item.write(uploadedFile);
- //--------------------------------------------------------------------
- //第二种方法
- OutputStream os = new FileOutputStream(uploadedFile);
- InputStream is = item.getInputStream();
- byte buf[] = new byte[1024];//可以修改 1024 以提高读取速度
- int length = 0;
- while( (length = is.read(buf)) > 0 ){
- os.write(buf, 0, length);
- }
- //关闭流
- os.flush();
- os.close();
- is.close();
- System.out.println("上传成功!路径:"+savePath+"/"+newFileName);
- out.print("1");
- }catch(Exception e){
- e.printStackTrace();
- }
- }else {
- String filedName = item.getFieldName();
- if (filedName.equals("userName")) {
- name = item.getString();
- }else {
- qq = item.getString();
- }
- System.out.println("FieldName:"+filedName);
- System.out.println("String:"+item.getString("UTF-8"));//避免中文乱码
- //System.out.println("String():"+item.getString(item.getName()));
- System.out.println("===============");
- }
- }
- } catch (FileUploadException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- out.flush();
- out.close();
- }
- }
WEB.XML
- <servlet>
- <servlet-name>UploadifySerlet</servlet-name>
- <servlet-class>
- com.yangpan.uploadify.UploadifySerlet
- </servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>UploadifySerlet</servlet-name>
- <url-pattern>/servlet/UploadifySerlet</url-pattern>
- </servlet-mapping>
基本设置
swf:主要Flash文件路径,默认uploadify.swf,如果同调用文件在同一不目录下可以忽略
uploader:后台处理程序路径,默认uploadify.php
postData:传递参数,默认{}
auto:是否允许自动上传文件,默认false
method:传递参数方式,默认post
外观设置
width:按钮宽度,默认120
height:按钮高度,默认30
buttonClass:按钮样式设置,如:样式为.btnClass{color:red;}
buttonCursor:鼠标移入时指针样式,默认hand,(注:设置后不知道怎么显示)
buttonImage:按钮显示图片地址,默认false,(注:必须是高度2倍,包含两个按钮图片,上默认、下鼠标移入,IE9)
buttonText:按钮显示文字信息,默认SELECT FILES,(注:3.0.0版本支持中文)
cancelImage:取消选中文件图片,默认uploadify-cancel.png
fileTypeDesc:选择文件时文件类型提示,默认All Files (*.*)
fileTypeExts:选择文件时文件类型限制,默认*.*,(注:如果fileTypeDesc和fileTypeExts同时设置,则显示组合,如:All Files (*.*) (*.*)
多个类型如:“*.JPG;*.GIF;*.PNG;*.BMP”)
操作设置
queueID:上传队列容器ID,默认false
removeCompleted:是否删除容器内已经上传完毕文件,默认true
removeTimeout:删除容器内已经上传完毕文件延迟时间,单位s,默认3
fileSizeLimit:设置允许上传文件大小,单位k,默认0不限制
multi:是否支持多文件同时上传,默认false
queueSizeLimit:限制一次上传文件个数,即容器内最多文件个数,默认999
simUploadLimit:允许同时上传文件个数,同时执行,默认1,(注:3.0.0测试版注释此参数)
调试设置
debug:是否显示调试框,默认false
checkExisting:检查待上传文件是否存在程序,默认uploadify-check-existing.php
其他设置
fileObjName:设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据,默认Filedata,(作用不明)
requeueErrors:未知,默认false
preventCaching:未知,默认true
progressData:未知,默认percentage
successTimeout:未知,默认30
transparent:未知,默认true
uploadLimit:未知,默认999
uploaderType:未知,默认html5
langFile:错误提示文件,可以忽略
id:当前操作的ID编码,默认jQuery(this).attr('id'),可以忽略。
onClearQueue: function () {}:未知
onDialogOpen: function () {}:打开选择文件窗口
onDialogClose: function () {}:关闭选择文件窗口
onInit: function () {}:初始化
onQueueComplete: function () {}:全部文件上传结束
onSelectError: function () {}:选择文件:选择错误
onSelect: function () {}:单个文件:选择文件,每选中一个文件都执行一次
onSWFReady: function () {}:未知
onUploadCancel: function () {}:未知
onUploadComplete: function () {}:单个文件上传结束,注意:最后一个文件结束在全部结束后
onUploadError: function () {}:上传文件错误/取消已选择文件
onUploadProgress: function () {}:单个文件:上传过程中
demo 下载,有问题大家可以一起讨论啊。。。。。
相关推荐
**jQuery上传插件Uploadify详解及参数传递方法** 在Web开发中,文件上传功能是常见的需求,而jQuery的Uploadify插件提供了一种简洁、高效的方式实现这一功能。本篇文章将深入探讨Uploadify插件的基本使用,以及如何...
这篇博客文章“JQuery批量上传插件Uploadify并传参数(二)”可能深入探讨了如何在使用Uploadify时传递额外参数,以增强其功能和定制性。 Uploadify是一款基于jQuery的JavaScript库,它允许用户通过拖放或选择多个...
总之,jQuery上传插件Uploadify是一个强大且灵活的工具,可以帮助开发者轻松地实现在网页上的文件上传功能,通过定制其参数和事件,可以满足各种项目需求。但随着技术的发展,考虑向HTML5的File API迁移也是必要的,...
**jQuery上传插件Uploadify详解** Uploadify是一款基于...总之,jQuery上传插件Uploadify是提高Web应用中文件上传体验的利器,通过其丰富的参数设置和事件处理,开发者可以定制出满足各种需求的文件上传解决方案。
jQuery Uploadify是一款广泛使用的文件上传插件,它极大地简化了在Web应用中实现多文件上传的功能。这个插件的主要版本是v3.0.0,它提供了丰富的自定义选项和良好的用户体验。在本文中,我们将深入探讨Uploadify的...
《jQuery文件上传插件jQuery.uploadify.js:跨越浏览器限制的智能解决方案》 在Web开发中,文件上传功能是一项常见的需求,而jQuery.uploadify.js是一款高效且用户友好的文件上传插件,尤其对于需要兼容多种浏览器...
Uploadify是一款基于JavaScript和Flash的文件上传插件,它与jQuery库紧密结合,为Web应用程序提供了简单易用且功能丰富的文件上传功能。在C#后端环境中,Uploadify可以帮助开发者实现多文件同时上传,大大提升了用户...
本实例将探讨如何利用jQuery上传插件Uploadify与PHP技术来构建一个强大的文件上传系统。Uploadify是一款广泛使用的前端插件,它使得文件上传过程更加直观、用户友好,并且支持批量上传和自定义样式,极大地提升了...
在.NET开发中,文件上传是一项常见的任务,而jQuery Uploadify插件则为这一过程提供了便捷的解决方案。Uploadify是一款基于JavaScript和Flash的文件上传组件,它允许用户通过拖拽或选择文件的方式,实现多文件同时...
《JQuery上传插件Uploadify的全面解析与应用》 在Web开发中,文件上传功能是必不可少的一部分,而JQuery插件Uploadify则提供了一种优雅、高效的解决方案。Uploadify是一款基于JQuery的插件,它支持多文件上传、...
Uploadify是由Aaron Balog开发的一款基于jQuery的文件上传插件。它利用HTML5的File API和Flash技术,提供了丰富的功能和自定义选项,使得文件上传变得简单易用。Uploadify支持异步上传,用户可以在不刷新页面的情况...
jQuery Uploadify 是一款基于jQuery的文件上传插件,它提供了用户友好的界面,支持多文件选择、上传进度显示以及批量上传等功能。这个插件适用于那些希望在网页中实现复杂文件上传功能的开发者。Uploadify 通过Flash...
### jQuery上传插件Uploadify 3.2中文详细参考手册 #### 一、概述 Uploadify是一款基于jQuery的文件上传插件,它提供了一个简单易用的接口来处理文件上传功能,尤其适用于需要多文件上传、文件预览等功能的场景。...
jQuery Uploadify是一款强大的、无刷新的文件上传插件,它使得用户在网页上进行文件上传时无需等待页面刷新,极大地提升了用户体验。Uploadify 3.2版本是其发展过程中的一个重要里程碑,提供了许多改进和新特性。 *...
Uploadify 是一款基于 jQuery 的文件上传插件,它支持多文件选择、上传进度显示等功能,为用户提供了良好的交互体验。在 ASP.NET 环境中使用 Uploadify,我们需要完成以下步骤: 1. **安装和引入资源**:首先,下载...
Uploadify是一款基于JQuery的上传插件,能够实现高效且美观的文件上传功能。它为开发者提供了一个易于使用的API,使得集成文件上传功能变得简单便捷。对于初学者而言,Uploadify提供了详细的配置选项和事件,使得...
uploadify插件与php的结合,有上传后小图预览,带删除链接,中文转码,有注释,还有uploadify3.1的参数详解word文档。ps:自己学习jquery权威指南时遇到的问题,找了很堵资料,还是摸索出来了,php的处理不是很详细,...
**jQuery批量上传插件Uploadify**是一款非常实用的前端文件上传工具,它允许用户通过Flash技术实现批量、异步的文件上传。Uploadify提供了一系列可配置的参数,使其能够适应各种上传需求,同时具备良好的用户体验。 ...