uploadify官方下载(uploadfy 怎么实现多文件上传)

本文目录
- uploadfy 怎么实现多文件上传
- javaweb多媒体文件下载插件
- jquery Uploadify上传文件
- 后台java代码接受jquery uploadify传过来的数据,有什么规则
- jQuery实现文件上传
- 请问ASP要如何使用jquery的插件uploadify,官网上的只有PHP的
uploadfy 怎么实现多文件上传
在Jsp页面中编写Script代码实现上传事件的描述,必须要注意其中的路径问题,uploader(springmvc controller处理的位置),其他两个路径为uploadify文件的存放路径(这个可以到官网下载)
uploadify下载下来的文件的存放路径
在Jsp页面中编写页面的具体布置
实现页面如下
在controller目录中创建类对jsp页面中的请求进行处理,由于代码比较多,所以截图分两部分,最后面给出具体的代码文字
/**
* 处理文件上传
* @param response
* @param request
* @return
* @throws IOException
*/
@RequestMapping(value="/uploadFile",method=RequestMethod.POST)
public String upload(HttpServletResponse response,HttpServletRequest request) throws IOException{
String responseStr="";
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map《String, MultipartFile》 fileMap = multipartRequest.getFileMap();
//String savePath = this.getServletConfig().getServletContext().getRealPath("");
//savePath = savePath + "/uploads/";
// 文件保存路径 ctxPath本地路径
String ctxPath=request.getSession().getServletContext().getRealPath("/")+File.separator+"uploadFiles";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
String ymd = sdf.format(new Date());
ctxPath += File.separator + ymd + File.separator;
System.out.println("ctxpath="+ctxPath);
// 创建文件夹
File file = new File(ctxPath);
if (!file.exists()) {
file.mkdirs();
}
String fileName = null;
for (Map.Entry《String, MultipartFile》 entity : fileMap.entrySet()) {
// 上传文件
MultipartFile mf = entity.getValue();
fileName = mf.getOriginalFilename();//获取原文件名
System.out.println("filename="+fileName);
File uploadFile = new File(ctxPath + fileName);
try {
FileCopyUtils.copy(mf.getBytes(), uploadFile);
responseStr="上传成功";
} catch (IOException e) {
responseStr="上传失败";
e.printStackTrace();
}
}
return responseStr;
}
javaweb多媒体文件下载插件
jquery.uploadify批量上传控件
《link href="styles/uploadify.css" rel="stylesheet" type="text/css" /》
《script type="text/javascript" src="styles/uploadify.swf"》《/script》
《script type="text/javascript" src="javascripts/jquery.uploadify.min.js"》《/script》
《link href="styles/uploadify.css" rel="stylesheet" type="text/css" /》
《script type="text/javascript" src="styles/uploadify.swf"》《/script》
《script type="text/javascript" src="javascripts/jquery.uploadify.min.js"》《/script》 还有jquery.js,你懂得!
这里注意哦,css文件会引用到这个图片哦,所以请你指定这个图片的位置哦,不然就没有显示这个叉叉哦,这个叉叉是删除按钮的哦,没有就是空白哦!
《script》
function snedUpLoad(){
var pid = $("#entityId").val(); //这个是我自己获取的自定义参数
var entityName = $("#entityName").val(); //同上
$("#uploadify").uploadify({ //初始化uploadify uploadify是input的id
//’debug’ : false, //dubug模式 ,默认是false
’auto’:false, //自动上传,就是控件自动上传,默认是true
’multi’:true,
//’successTimeout’:99999, //超时时间
’formData’:{’pid’:pid,’entityName’:entityName },//我的参数列表
//’fileObjName’:’uploadify’, //服务器的属性名字
’uploader’:’你的后台url地址;jsessionid=${pageContext.session.id}’,//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
’swf’:"styles/uploadify.swf", //flash文件,官方的文件,引用上就是了
//’uploader’: ’/Home/Upload’, //文件保存路径 用处不大
’buttonText’: ’文件上传’, //按钮
//’height’:’32’, //浏览按钮的高度
//’width’:’100’, //浏览按钮的宽度
’fileTypeDesc’:’支持的格式:’, //在浏览窗口底部的文件类型下拉菜单中显示的文本
’fileTypeExts’:’*.jpg;*.jpge;*.gif;*.png’, //允许上传的文件后缀
’fileSizeLimit’:’3MB’, //上传文件的大小限制
’queueSizeLimit’ : 25, //上传数量
’onSelectError’:function(file, errorCode, errorMsg){ //返回一个错误,选择文件的时候触发
switch(errorCode) {
case -100:
alert("上传的文件数量已经超出系统限制的"+$(’#file_upload’).uploadify(’settings’,’queueSizeLimit’)+"个文件!");
break;
case -110:
alert("文件 大小超出系统限制的"+$(’#file_upload’).uploadify(’settings’,’fileSizeLimit’)+"大小!");
break;
case -120:
alert("文件 大小异常!");
break;
case -130:
alert("文件 类型不正确!");
break;
}
},
’onFallback’:function(){ //检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
’onUploadSuccess’:function(file, data, response){ //上传到服务器,服务器返回相应信息到data里
if(data){
var dataObj=eval("("+data+")");//转换为json对象
//$(’#uploadify’).uploadify(’upload’)
}
}
});
}
《/script》
《script》
function snedUpLoad(){
var pid = $("#entityId").val(); //这个是我自己获取的自定义参数
var entityName = $("#entityName").val(); //同上
$("#uploadify").uploadify({ //初始化uploadify uploadify是input的id
//’debug’ : false, //dubug模式 ,默认是false
’auto’:false, //自动上传,就是控件自动上传,默认是true
’multi’:true,
//’successTimeout’:99999, //超时时间
’formData’:{’pid’:pid,’entityName’:entityName },//我的参数列表
//’fileObjName’:’uploadify’, //服务器的属性名字
’uploader’:’你的后台url地址;jsessionid=${pageContext.session.id}’,//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
’swf’:"styles/uploadify.swf", //flash文件,官方的文件,引用上就是了
//’uploader’: ’/Home/Upload’, //文件保存路径 用处不大
’buttonText’: ’文件上传’, //按钮
//’height’:’32’, //浏览按钮的高度
//’width’:’100’, //浏览按钮的宽度
’fileTypeDesc’:’支持的格式:’, //在浏览窗口底部的文件类型下拉菜单中显示的文本
’fileTypeExts’:’*.jpg;*.jpge;*.gif;*.png’, //允许上传的文件后缀
’fileSizeLimit’:’3MB’, //上传文件的大小限制
’queueSizeLimit’ : 25, //上传数量
’onSelectError’:function(file, errorCode, errorMsg){ //返回一个错误,选择文件的时候触发
switch(errorCode) {
case -100:
alert("上传的文件数量已经超出系统限制的"+$(’#file_upload’).uploadify(’settings’,’queueSizeLimit’)+"个文件!");
break;
case -110:
alert("文件 大小超出系统限制的"+$(’#file_upload’).uploadify(’settings’,’fileSizeLimit’)+"大小!");
break;
case -120:
alert("文件 大小异常!");
break;
case -130:
alert("文件 类型不正确!");
break;
}
},
’onFallback’:function(){ //检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
’onUploadSuccess’:function(file, data, response){ //上传到服务器,服务器返回相应信息到data里
if(data){
var dataObj=eval("("+data+")");//转换为json对象
//$(’#uploadify’).uploadify(’upload’)
}
}
});
}
《/script》
$(function(){
snedUpLoad(); //jquery容器加载完运行我们的函数
})
$(function(){
snedUpLoad(); //jquery容器加载完运行我们的函数
})
《input type="file" name="uploadify" id="uploadify" /》 //申明控件的容器
《input type="file" name="uploadify" id="uploadify" /》 //申明控件的容器
前台页面代码基本就这样了,很好明白,至于后台逻辑和普通上传处理一致的,这里就不列出来的,最后上一张图给大家鉴赏一下
(tip:其实他的批量上传并不是一次全部提交处理的,他是一个一个依次提交,相当是一个for循环,所以后台处理的同时只是一个文件上传,即排序的处理上传文件,就和单个文件上传的代码一样,如果你早有后台的单文件上传代码就不用改,直接调用就行了,可以共用)
jquery Uploadify上传文件
Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载。
首先按下面的步骤来实现一个简单的上传功能。
1 创建Web项目,命名为JQueryUploadDemo,从官网上下载最新的版本解压后添加到项目中。
2 在项目中添加UploadHandler.ashx文件用来处理文件的上传。
3 在项目中添加UploadFile文件夹,用来存放上传的文件。
进行完上面三步后项目的基本结构如下图:
4 Default.aspx的html页的代码修改如下:
***隐藏网址***
《head runat="server"》
《title》Uploadify《/title》
《link href="JS/jquery.uploadify-v2.1.0/example/css/default.css"
rel="stylesheet" type="text/css" /》
《link href="JS/jquery.uploadify-v2.1.0/uploadify.css"
rel="stylesheet" type="text/css" /》
《script type="text/javascript"
src="JS/jquery.uploadify-v2.1.0/jquery-1.3.2.min.js"》《/script》
《script type="text/javascript"
src="JS/jquery.uploadify-v2.1.0/swfobject.js"》《/script》
《script type="text/javascript"
src="JS/jquery.uploadify-v2.1.0/jquery.uploadify.v2.1.0.min.js"》《/script》
《script type="text/javascript"》
$(document).ready(function()
{
$("#uploadify").uploadify({
’uploader’: ’JS/jquery.uploadify-v2.1.0/uploadify.swf’,
’script’: ’UploadHandler.ashx’,
’cancelImg’: ’JS/jquery.uploadify-v2.1.0/cancel.png’,
’folder’: ’UploadFile’,
’queueID’: ’fileQueue’,
’auto’: false,
’multi’: true
});
});
《/script》
《/head》
《body》
《div id="fileQueue"》《/div》
《input type="file" name="uploadify" id="uploadify" /》
《p》
《a href="javascript:$(’#uploadify’).uploadifyUpload()"》上传《/a》|
《a href="javascript:$(’#uploadify’).uploadifyClearQueue()"》取消上传《/a》
《/p》
《/body》
《/html》
5 UploadHandler类的ProcessRequest方法代码如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";
HttpPostedFile file = context.Request.Files;
string uploadPath =
HttpContext.Current.Server.MapPath(@context.Request)+"\\";
if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
file.SaveAs(uploadPath + file.FileName);
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
context.Response.Write("1");
}
else
{
context.Response.Write("0");
}
}
6 运行后效果如下图:
后台java代码接受jquery uploadify传过来的数据,有什么规则
你可以组装成对象接收,也可以将你的参数放在你请求路径后面用?参数1=’’&参数2=’’的形式
jQuery实现文件上传
/* jQuery实现文件上传,参考例子如下:
package com.kinth.hddpt.file.action;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
***隐藏网址***
***隐藏网址***
import net.sf.json.JSONArray;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.gdcn.bpaf.common.base.search.MyCriteria;
import com.gdcn.bpaf.common.base.search.MyCriteriaFactory;
import com.gdcn.bpaf.common.base.service.BaseService;
import com.gdcn.bpaf.common.helper.PagerList;
import com.gdcn.bpaf.common.helper.WebHelper;
import com.gdcn.bpaf.common.taglib.SplitPage;
import com.gdcn.bpaf.security.model.LogonVO;
import com.gdcn.components.appauth.common.helper.DictionaryHelper;
import com.kinth.common.base.action.BaseAction;
import com.kinth.hddpt.file.action.form.FileCatalogForm;
import com.kinth.hddpt.file.model.FileCatalog;
import com.kinth.hddpt.file.service.FileCatalogService;
import com.kinth.hddpt.file.util.MyZTreeNode;
/**
* 《p》
* description: “文件上传的Struts层请求处理类”
* 《/p》
* @date : 2013-1-14
*/
public class FileCatalogAction extends BaseAction《FileCatalog》 {
@SuppressWarnings("unused")
private static Log log = LogFactory.getLog(FileCatalogAction.class); // 日志记录
private FileCatalogService fileCatalogService;
// 删除记录的同时删除相应文件
public ActionForward fileDelete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String id = request.getParameterValues("resourceId");
if (id != null && id.contains(",")) {
id = id.split(",");
}
String;
for (int j = 0; j 《 id.length; j++) {
fileUrls).getFileUrl();
if (!isEmpty(fileUrls)) {
// 如果该文件夹不存在则创建一个uptext文件夹
File fileup = new File(fileUrls);
if (fileup.exists() || fileup != null) {
fileup.delete();
}
}
fileCatalogService.deleteObject(id);
}
setAllActionInfos(request);
return list(mapping, form, request, response);
}
@Override
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String id = request.getParameter("resourceId");
Boolean fileFlag = Boolean.valueOf(request.getParameter("fileFlag"));
if(fileFlag != null && fileFlag == true){
return super.save(mapping, form, request, response);
}else{
String fileUrl = this.fileUpload(form, request, id, fileFlag);
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
response.setHeader("Charset", "GBK");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write(fileUrl);
response.getWriter().flush();
}
return null;
}
@SuppressWarnings("unchecked")
public String fileUpload(ActionForm form,HttpServletRequest request,String id,Boolean fileFlag) throws FileNotFoundException, IOException{
request.setCharacterEncoding("GBK");
String basePath = getServlet().getServletConfig().getServletContext().getRealPath("")+"/";
String filePath = "uploads/"; // 获取项目根路径 ;
/*注释部分对应jquery upload uploadify插件的后台代码,只是还存在编码问题,默认为utf-8
String savePath = getServlet().getServletConfig().getServletContext().getRealPath(""); // 获取项目根路径
savePath = savePath + "\\uploads\\";
//读取上传来的文件信息
Hashtable《String, FormFile》 fileHashtable = form.getMultipartRequestHandler().getFileElements();
Enumeration《String》 enumeration = fileHashtable.keys();
enumeration.hasMoreElements();
String key = (String) enumeration.nextElement();
FormFile formFile = (FormFile)fileHashtable.get(key);
String filename = formFile.getFileName().trim(); //文件名
filename = new EncodeChange().changeCode(filename);
String filetype = filename.substring(filename.lastIndexOf(".") + 1);//文件类型
savePath = savePath+filetype+"\\";
System.out.println("path:"+savePath);
String realPath = savePath + filename; //真实文件路径
//如果该文件夹不存在则创建一个文件夹
File fileup = new File(savePath);
if(!fileup.exists()||fileup==null){
fileup.mkdirs();
}
if (!filename.equals("")) {
// 在这里上传文件
InputStream is = formFile.getInputStream();
OutputStream os = new FileOutputStream(realPath);
int bytesRead = 0;
byte;
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
is.close();
//如果是修改操作,则删除原来的文件
String id = request.getParameter("resourceId");
if (!isEmpty(id)) {
FileCatalog fileCatalog = fileCatalogService.findObject(id);
String fileUrl = fileCatalog.getFileUrl();
if (!isEmpty(fileUrl)) {
File filedel = new File(fileUrl);
if(filedel.exists()||filedel!=null){
filedel.delete();
}
}
request.setAttribute("entity", fileCatalog);
}
response.getWriter().print(realPath);// 向页面端返回结果信息
}*/
// 读取上传来的文件信息
Hashtable《String, FormFile》 fileHashtable = form.getMultipartRequestHandler().getFileElements();
Enumeration《String》 enumeration = fileHashtable.keys();
enumeration.hasMoreElements();
String key = (String) enumeration.nextElement();
FormFile formFile = (FormFile) fileHashtable.get(key);
String filename = formFile.getFileName().trim(); // 文件名
String filetype = filename.substring(filename.lastIndexOf(".") + 1);// 文件类型
Integer fileSize = formFile.getFileSize();
filePath += Calendar.getInstance().get(Calendar.YEAR)+"/"+filetype+"/" ;
String realPath = basePath+filePath+filename; // 真实文件路径
if (!filename.equals("")) {
// 如果是修改操作,则删除原来的文件
if (!isEmpty(id)) {
FileCatalog fileCatalog = fileCatalogService.findObject(id);
String fileUrl = fileCatalog.getFileUrl();
if (!isEmpty(fileUrl)) {
fileUrl = basePath + fileUrl;
File filedel = new File(fileUrl);
if (filedel.exists() || filedel != null) {
filedel.delete();
}
}
request.setAttribute("entity", fileCatalog);
}
// 如果该文件夹不存在则创建一个文件夹
File fileup = new File(basePath+filePath);
if (!fileup.exists() || fileup == null) {
fileup.mkdirs();
}
// 在这里上传文件
InputStream is = formFile.getInputStream();
OutputStream os = new FileOutputStream(realPath);
int bytesRead = 0;
byte;
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
is.close();
}
filePath += filename;
String result = "{\"fileName\":\""+filename+"\",\"fileType\":\""+filetype+"\",\"fileSize\":"+fileSize+",\"fileUrl\":\""+filePath+"\"}";
return result;
}
public FileCatalogService getFileCatalogService() {
return fileCatalogService;
}
public void setFileCatalogService(FileCatalogService fileCatalogService) {
this.fileCatalogService = fileCatalogService;
}
}
请问ASP要如何使用jquery的插件uploadify,官网上的只有PHP的
Uploadify简单说来,是基于Jquery的一款文件上传插件。它的功能特色总结如下:
支持单文件或多文件上传,可控制并发上传的文件数
在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Java……
通过参数可配置上传文件类型及大小限制
通过参数可配置是否选择文件后自动上传
易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……)
通过接口参数和CSS控制外观
更多……
相关链接
***隐藏网址***
Uploadify在线演示:在线Demo
***隐藏网址***
***隐藏网址***
使用方法
下载插件安装包后,可以看到里面的几个主要文件:jquery.uploadify.js(完成上传功能的脚本文件,在调用页面引用)、uploadify.css(外观样式表)、uploader.swf(上传控件的主体文件,flash控件)、upload.php(服务器端处理文件,官方仅提供了php版的)
引用了插件文件后,在页面中做如下调用:
//声明一个普通的html文件上传控件,并指定id
《input type="file" name="fileInput" id="fileInput" /》
//将声明的普通上传控件与Uploadify插件绑定
《script type="text/javascript"》
$(document).ready(function() {
$(’#fileInput’).fileUpload ({
//以下参数均是可选
’uploader’ : ’uploader.swf’, //指定上传控件的主体文件,默认‘uploader.swf’
’script’ : ’upload.php’, //指定服务器端上传处理文件,默认‘upload.php’
’cancelImg’ : ’cancel.png’, //指定取消上传的图片,默认‘cancel.png’
’auto’ : true, //选定文件后是否自动上传,默认false
’folder’ : ’/uploads’ //要上传到的服务器路径,默认‘/’
’muti’ : true, //是否允许同时上传多文件,默认false
’fileDesc’ : ’rar文件或zip文件’ //出现在上传对话框中的文件类型描述
’fileExt’ : ’*.rar;*.zip’, //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
’sizeLimit’: 86400 //控制上传文件的大小,单位byte
’simUploadLimit’ :5 //多文件上传时,同时上传文件数目限制
});
});
《/script》
上面列出了我认为常用的配置选项,此外还有很多参数可配置,参考官方文档
通过调用相关功能函数,声明功能按钮。
例如声明上传功能按钮(自动上传时不需要):
《a href="javascript:$(’#fileInput’).fileUploadStart();"》上传文件《/a》
声明取消多文件上传时上传队列:
《a href="javascript:$(’#fileInput’).fileUploadClearQueue();"》取消上传队列《/a》
***隐藏网址***

更多文章:
助推nudge英文版(PC版2K9装好后,想用手柄玩怎么设置)
2026年3月18日 17:15
从0开始学编程需要多久(零基础学习Java编程学多久能学会)
2025年9月27日 12:45
雅思大作文模板discuss(雅思写作参考模板:比较不同观点的优劣)
2025年12月21日 22:15
runtimewarning(求教Django中model类型为DateTimeField在查询时的问题)
2025年6月26日 09:15
data sheet是什么意思(老外要求的data sheet是指什么)
2026年6月2日 06:00
configuring(DELL R420服务器一直停留在configuring memory怎么解决)
2026年1月17日 22:30
莫德里奇:你得称赞罗德里戈的勇气(皇马3-1战胜毕尔巴鄂竞技队的比赛里,伊斯科的表现如何)
2026年1月26日 14:30
redhat怎么设置中文(如何改变redhat的系统语言/字符集)
2025年6月2日 03:00
easyui panel(jquery easyui panel 点击title折叠)
2026年4月23日 12:15
massive waves(“神笔马良”的大概意思!!!!!!)
2026年1月20日 02:30
cstring变量(evc中怎么把CString变量转换成double变量)
2025年11月14日 03:15
css textarea 文本只读(editplus写css不变色,)
2026年9月24日 05:45
从json文件引入图片地址(vue中json文件怎么引入图片视频)
2026年9月9日 17:15
wordpress用户注册网址和流程(wordpress前台怎么注册用户)
2026年8月5日 23:45














