下载最新的zip压缩包 http://www.uploadify.com

导入default.css,uploadify.css,jQuery脚本,swfobject脚本和Uploadify插件。并且添加调用插件使用$,在您的网页的<head>部分ready事件:

代码
<script language="javascript" type="text/javascript">
$(document).ready(
function(){

$(
"#uploadify").uploadify({
'uploader': 'uploadify.allglyphs.swf',
'script': 'http://www.cnblogs.com/Service/uploadXsNetshopHuxing.ashx',
'cancelImg': 'cancel.png',
'folder': 'UploadFile',
'queueID': 'fileQueue',
'auto': false,
'scriptData':{'houseID':'<%= intHouseID %>','houseType':1},
'fileExt':'*.jpg;*.gif',
'fileDesc':'请选择jpg或gif文件格式',
'fileDataName': 'imgpreview',
'multi': false,
'sizeLimit':1000000,
'onComplete':function(event,queueId,fileObj,response,data)
{

$(
"#uploadbtn1").html("<img src='"+fileObj.filePath+"' width='600px' />");

}




// 'uploader': 'uploadify.allglyphs.swf',
//
'cancelImg': 'cancel.png',
//
'script': 'uploadfile.asp',
//
'multi': true,
//
'buttonText': 'Browse',
//
'displayData': 'speed',
//
'simUploadLimit': 2,
//
'fileDataName': 'imgpreview'

});

$(
"#uploadify2").uploadify({
'uploader': 'uploadify.allglyphs.swf',
'script': 'http://www.cnblogs.com/Service/uploadXsNetshopHuxing.ashx',
'cancelImg': 'cancel.png',
'folder': 'UploadFile',
'queueID': 'fileQueue2',
'scriptData':{'houseID':'<%= intHouseID %>','houseType':2},
'auto': false,
'fileExt':'*.jpg;*.gif',
'fileDesc':'请选择jpg或gif文件格式',
'fileDataName': 'imgpreview',
'multi': true,
'queueSizeLimit':'2',
'sizeLimit':1000000,
'onAllComplete':function()
{
$(
"#uploadbtn2").fadeOut(250);
},
'onComplete':function(event, ID, fileObj, response, data)
{
$(
"#loadImage").append("<img src='"+fileObj.filePath+"' width='600px' />");

}
});

}
);
</script>

 后台处理:

 

代码
public class uploadXsNetshopHuxing : IHttpHandler
{
PhotoHelper photoHelper
= new PhotoHelper();
bllXsHouseImages bllImage
= new bllXsHouseImages();
public void ProcessRequest(HttpContext context)
{

context.Response.Charset
= "utf-8";
context.Response.ContentType
= "text/plain";
HttpPostedFile file
= context.Request.Files["imgpreview"];
int HouseType = Convert.ToInt32(context.Request.Params["houseType"]);
int HouseID = Convert.ToInt32(context.Request.Params["houseID"]);
string uploadPath = HttpContext.Current.Server.MapPath(@context.Request["folder"])+"\\";

if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
string filename = file.FileName;// +;
int dot = filename.IndexOf('.');
filename
= filename.Substring(0, dot) + "-" + DateTime.Now.Millisecond.ToString() + filename.Substring(dot, filename.Length - dot);
file.SaveAs(uploadPath
+ filename);
StringBuilder ImagePath
= new StringBuilder();
ImagePath.Append(HttpContext.Current.Server.MapPath(
"~"));
ImagePath.Append(
@"upload\houseImage\");
ImagePath.Append(DateTime.Now.Date.ToString(
"yyyyMMdd"));
string strImagePath = ImagePath.ToString();
if (HouseType == 1)
{
string x80Path = ImagePath.ToString() + "\\100x75\\";
if (!Directory.Exists(x80Path))
{
Directory.CreateDirectory(x80Path);
}
photoHelper.MakeThumbnail(uploadPath
+ filename, x80Path.ToString() + filename, 100, 75, "Cut");

}
string waterPath= ImagePath.ToString() + "\\water\\";
if (!Directory.Exists(waterPath))
{
Directory.CreateDirectory(waterPath);
}
photoHelper.AddWaterPic(uploadPath
+ filename, waterPath.ToString() + filename, HttpContext.Current.Server.MapPath("~") + @"upload\logo_water.png");
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
bllImage.addXsHxImage(HouseID, @"~\upload\houseImage\"+DateTime.Now.Date.ToString("yyyyMMdd")+@"\[type]\" + filename, HouseType);

context.Response.Write(
"1");
}
else
{
context.Response.Write(
"0");
}


}

public bool IsReusable
{
get
{
return false;
}
}
}

 

 

 

以下是可选项的参数说明:(红色的属性代表常用的)

 

1

uploader

上传控件的主体文件,flash控件

   默认值='uploadify.swf'

2

script

 

相对路径的后端脚本,它将处理您上传的文件。

绝对路径前缀或'/'或'http'的路径

  默认值='uploadify.php'

3

checkScript

 

检查该文件是否已经选择驻留在服务器上。
没有默认值。 官方例子中'check.php'是提供核心文件

4

scriptData

 

可提供URL传递参数。用来传递get参数。例如:

  index.jsp?id=1&action=uploadify可以设置成:

'script': 'index.jsp',

'scriptData':{'id':1,'action':'uploadify'},

注:要设置‘method’:‘GET’.

 

5

fileDataName

 

 您的文件在上传服务器脚本阵列的名称。
   默认值='Filedata'

6

method

 

 设置为发送到后端脚本的方法。要么'get'或post'。

   默认值'post'

7

scriptAccess

 

 ?

8

folder

 

您想将文件保存到的路径。考虑到安全问题,一般并不在客户端设定后供服务器得到所存的路径。我试了下。这个参数好像以get的方式传递的。设定post得不到这个值。

9

queueID

 

 文件队列ID。与div的id一致。参考上一篇例子的用法。

10

queueSizeLimit

 

限制在一次队列中的次数(可选定几个文件)。默认值= 999,而一次可传几个文件有 simUploadLimit属性决定。

11

multi

 

是否允许同时上传多文件,可设定true或false。

  默认false。设定true时,选中的文件是当前项。

12

auto

 

选定文件后是否自动上传,可设定true或false。

  默认false

13

fileDesc

 

出现在上传对话框中的文件类型描述。与fileExt需同时使用

14

fileExt

 

支持的格式,启用本项时需同时声明fileDesc。

如:‘*.rar,*.doc

 

15

sizeLimit

 

控制上传文件的大小,单位byte

16

simUploadLimit

 

多文件上传时,同时上传文件数目限制。默认1

  一次可传几个文件。

17

buttonText

 

默认按钮的名字。默认BROWER

18

buttonImg

 

使用图片按钮,设定图片的路径即可。

19

hideButton

 

上传按钮的隐藏。true 或false。默认flase

20

rollover

 

 ?

21

width

 

 按钮图片的长度。默认 110

22

height

 

 按钮图片的高度。默认 30

23

wmode

 

 背景透明transparent 与不透明opaque设定。默认 不透明

 

24

cancelImg

 

 取消按钮。设定图片路径。默认cancel.png

 

 

25

onInit

 

函数, 初始化时的状态。

onInit: function() { 

$("#id").html("上传前");},

26

onComplete

 

函数:可传递五个参数

event: 事件对象

queueID: 完成文件的唯一标识符。

fileObj:  

  • name – 文件名

  • filepath –上传路径

  • size – 文件大小

  • creationDate – 文件创建时间

  • modificationDate –文件最近修改时间

  • type –文件的扩展名

response: 服务器回调的数据

data:  

  • fileCount – The total number of files left in the queue

  • speed – 平均上传速度 KB/s

如:

onComplete: function(event, queueID, fileObj) {

  alert("文件:" +fileObj.name + "上传失败");  }

 

27

onSelectOnce

 

函数:可传递二个参数

event: The event object.

data: An object containing details about the select operation.

  • fileCount – The total number of files in the queue

  • filesSelected – The number of files selected in the select operation

  • filesReplaced – The number of files that were replaced in the queue

  • allBytesTotal – The total number of bytes for all files in the queue

 

28

onCancel

 

函数:可传递四个参数

event: The event object.

queueID: The unique identifier of the file that was cancelled.

fileObj: An object containing details about the file that was selected.

   • name – The name of the file

   • size – The size in bytes of the file

   • creationDate – The date the file was created

   • modificationDate – The last date the file was modified

   • type – The file extension beginning with a '.'

 

data: Details about the file queue.

   • fileCount – The total number of files left in the queue

   • allBytesTotal – The total number of bytes left for all files in the queue

 

29

onClearQueue

 

函数:可传递一个参数

event: The event object.

30

onQueueFull

 

函数:可传递二个参数

• event - The event object.

• queueSizeLimit - The maximum size of the queue.

 

31

onError

 

函数:可传递四个参数

 

event: The event object.

queueID: The unique identifier of the file that was errored.

fileObj: An object containing details about the file that was selected.

  • name – The name of the file

  • size – The size in bytes of the file

  • creationDate – The date the file was created

  • modificationDate – The last date the file was modified

 • type – The file extension beginning with a '.'

errorObj: An object containing details about the error returned.

 • type – Either 'HTTP', 'IO', or 'Security'

 • info – An error message describing the type of error returned

 

32

onOpen

 

函数:可传递三个参数

event: The event object.

queueID: The unique identifier of the file that was opened.

fileObj: An object containing details about the file that was selected.

  • name – The name of the file

  • size – The size in bytes of the file

  • creationDate – The date the file was created

  • modificationDate – The last date the file was modified

  • type – The file extension beginning with a '.'

 

33

onProgress

 

 

函数:可传递四个参数

event: The event object.

queueID: The unique identifier of the file that was updated.

fileObj: An object containing details about the file that was selected.

  • name – The name of the file

  • size – The size in bytes of the file

  • creationDate – The date the file was created

  • modificationDate – The last date the file was modified

  • type – The file extension beginning with a '.'

 

data: An object containing details about the upload and queue.

  • percentage – The current percentage completed for the upload

  • bytesLoaded – The current amount of bytes uploaded

  • allBytesLoaded – The current amount of bytes loaded for all files in the queue

  • speed – The current upload speed in KB/s

 

34

onSelect

 

 

event: The event object.

queueID: The unique identifier of the file that was selected.

fileObj: An object containing details about the file that was selected.

  • name – The name of the file

  • size – The size in bytes of the file

  • creationDate – The date the file was created

  • modificationDate – The last date the file was modified

  • type – The file extension beginning with a '.'

 

35

onAllComplete

 

 

函数:可传递二个参数

 

event: The event object.

data: An object containing details about the upload process.

  • filesUploaded – The total number of files uploaded

  • errors – The total number of errors while uploading

  • allbytesLoaded – The total number of bytes uploaded

  • speed – The average speed of all uploaded files

 

36

onCheck

 

函数:可传递五个参数

 

event: The event object.

checkScript: The path to the file checking script.

fileQueue: A file queue object consisting of  key/value pairs with the queue ID as the key and the filename as the value.

folder: The path to the upload folder.

single: True if only one file is being uploaded from the queue.

 

 

相关文章:

  • 2021-10-13
  • 2021-12-24
猜你喜欢
  • 2022-12-23
  • 2022-02-12
  • 2021-07-18
  • 2022-12-23
  • 2021-11-08
  • 2021-09-28
相关资源
相似解决方案