1 $("#fileUpload1").uploadify({
2 'swf': '../../Front/Common/Script/uploadify/uploadify.swf', //插件中.swf文件路径
3 'uploader': '../../Front/Service/DemoService.ashx?method=UploadFile', //上传文件对应的服务器处理脚本路径
4 //'cancelImg': '../../Common/Script/uploadify/uploadify-cancel.png', //取消按钮图片
5 'progressData': 'speed', //'speed'or'percentage'
6 //'fileSizeLimit': '50MB', //文件大小限制
7 'formData': { 'type': '2' }, //前台传递给后台的参数
8 'queueSizeLimit': 999, //最大上传队列数量
9 'uploadLimit': 999, //最大上传文件数量
10 'queueID': 'fileList', //上传队列绑定的控件id
11 'fileTypeDesc': 'zip,rar', //可上传文件类型描述
12 'fileTypeExts': '*.zip;*.rar', //可上传文件类型
13 'buttonText': '添付', //按钮文本
14 'method': 'post', //请求方式:'post' or 'get'
15 'requeueErrors': 'false', //上传过程中因为出错导致失败的文件是否重新加入队列
16 'removeCompleted': true, //是否移除上传完成队列
17 'wmode': 'transparent', //设置背景是否透明
18 'auto': true, //选中文件后自动上传
19 'multi': true, //是否可以同时上传多个文件
20 'width': 48, //设置按钮宽度
21 'height': 18, //设置按钮高度
22 'overrideEvents': ['onSelectError'],
23 'onCancel': function(file) {
24 },
25 'onUploadError': function(file, errorCode, errorMsg, errorString) {
26 },
27 'onUploadStart': function(file) {
28 },
29 'onClearQueue': function(queueItemCount) {
30 },
31 'onDialogClose': function(queueData) {
32 },
33 //文件选择事件
34 'onSelect': function(file) {
35
36 },
37 //文件选择错误
38 'onSelectError': function(file, errorCode, errorMsg) {
39 },
40 //文件上传成功的处理方法
41 'onUploadSuccess': function(file, data, response) {
42 var result = data.split(",");
43 $("#file").val(result[2]);
44 $("#file").attr("title", result[2]);
45 },
46 //在队列中的文件上传完成后触发
47 'onQueueComplete': function(queueData) {
48 }
49 });
50 });
51
52 后台处理:
53 #region 上传文件
54
55 /// 提供功能 :1.保存文件 2.保存文件信息 3.返回文件id
56 /// 目的 :保存文件并返回文件id
57 /// 返回值 :文件名 文件保存路径 文件相对路径 文件id
58 public void UploadFile()
59 {
60 HttpPostedFile file = contextA.Request.Files["Filedata"];//获取上传文件数据
61 string employeeCode = contextA.Request["employeeCode"];//作成者code
62 string formFlag = contextA.Request["employeeName"];//标识不同页面的formFlag
63 // string formName = "申请";//默认页面名称
64 // formName = GetFormNameByFormFlag(formFlag);
65 // string type = contextA.Request["type"];//作成者code
66 // string formName = "Pictures";//默认页面名称
67 //formName = GetFormNameByFormFlag(type);
68 string attachmentId = "";//文件id
69 string uploadPath = System.AppDomain.CurrentDomain.BaseDirectory + "FileData\\software\\Files";
70 // string uploadPath = System.AppDomain.CurrentDomain.BaseDirectory + "FileData\\software";
71 if (file != null)
72 {
73 //string yearMonthDay = DateTime.Now.ToString("yyyyMMdd"); //年月日
74 //string createDate = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); //年-月-日 时:分:秒
75 //string fullTime = DateTime.Now.ToString("hhmmss"); //年月日时分秒
76 string originalFileName = file.FileName.ToString(); //原文件名
77 //uploadPath = uploadPath + "\\" + formName + "\\" + yearMonthDay + "\\" + fullTime; //保存路径
78
79 //uploadPath = uploadPath + "\\" + formName; //保存路径
80
81 string path = uploadPath + "\\" + originalFileName; //文件保存路径
82 path = path.Replace("\\", "\\\\");
83
84 string url = "FileData/software/Files/" + originalFileName;//项目相对路径
85
86 //string url = "FileData/software/" + formName + "/" + originalFileName;//项目相对路径
87
88 if (!Directory.Exists(uploadPath))
89 {
90 Directory.CreateDirectory(uploadPath); //创建相应的文件目录
91 }
92 file.SaveAs(path); //保存文件到相应的存储路径
93 if (File.Exists(path))
94 {
95 //获取上传文件信息插入成功后生成的id
96 //DataTable dt = ip.SaveAttachmentInfo(originalFileName, url, employeeCode, createDate, employeeCode, createDate, formFlag);
97 //attachmentId = dt.Rows[0][0].ToString();
98 }
99 //文件名转码
100 string message = HttpUtility.UrlEncode(originalFileName);
101
102 //将原始文件名、存储路径、相对路径、文件id返回前台
103
104 contextA.Response.Write(string.Format("{0},{1},{2},{3}", message, path, url, attachmentId));
105 }
106 }
123
136
137
138
139 /// 提供功能 :
140 /// 行为 :
141 /// 目的 :删除附件
142 /// 获取的参数:文件id、文件地址
143 /// 返回值 :如果该附件存在返回附件名,否则返回1
144 public void DeleteFile()
145 {
146 /***************** 获取前台参数 *************************/
147 // attachmentId : 文件id
148 // name : 文件名称
149 // path : 文件地址
150 string attachmentId = contextA.Request["attachmentId"];
151 string name = contextA.Request["name"];
152 string path = contextA.Request["path"];
153 string uploadPath = System.AppDomain.CurrentDomain.BaseDirectory + "FileData\\software\\Files\\"+ path;
154 path = uploadPath.Replace("\\", "\\\\");
155 /********************************************************/
156 if (!string.IsNullOrEmpty(name))
157 {
158 if (File.Exists(path))
159 {
160 File.Delete(path);
161 if (!File.Exists(path))
162 {
163 //bool isSuccess = ip.DeleteAttachmentInfo(attachmentId);
164 //if (isSuccess)
165 //{
166 // contextA.Response.Write("1");
167 //}
168 }
169 else
170 {
171 contextA.Response.Write(name);
172 }
173 }
174 else
175 {
176 contextA.Response.Write("1");
177 }
178 }
179 else
180 {
181 contextA.Response.Write("1");
182 }
183 }
184
185 /// 提供功能 :
186 /// 行为 :
187 /// 目的 :批量删除附件
188 /// 获取的参数:文件id、文件地址
189 /// 返回值 :如果该附件存在返回0,否则返回1
190 public void RemoveAllUploadedFiles()
191 {
192 /***************** 获取前台参数 *************************/
193 // idList : id列表
194 // pathList : 路径列表
195 var idList = contextA.Request["idList"];
196 var pathList = contextA.Request["pathList"];
197 /***************** 获取前台参数 *************************/
198 var isSuccess = false; //是否成功标识
199 if (!string.IsNullOrEmpty(idList))
200 {
201 //isSuccess = ip.DeleteAttachmentInfo(idList);
202 }
203 if (!string.IsNullOrEmpty(pathList))
204 {
205 var _pathList = pathList.Split('|');
206 for (var i = 0; i < _pathList.Length; i++)
207 {
208 if (File.Exists(_pathList[i]))
209 {
210 File.Delete(_pathList[i]);
211 }
212 }
213 }
214 //此处有个特殊的处理逻辑:只要成功删除了附件表的数据,就算删除成功
215 if (isSuccess)
216 {
217 contextA.Response.Write("1"); //成功返回1
218 }
219 else
220 {
221 contextA.Response.Write("0"); //失败返回0
222 }
223 }
224 #endregion
225
226
227
228 uploadify:上传文件获取路径时
229 var result = data.split(",");
230 address = result[2];