Uploadify批量上传后台传参问题

前台代码:
$("#file_upload").uploadify({
'height': 30,
'auto': false,
'queueID': 'some_file_queue',
'formData': { 'type': '' },
'swf': appPath + 'Core/Scripts/uploadify3.2.1/uploadify.swf',
'uploader': appPath + 'RecordKeepingFunction/FilesInfo/BatchUpload/FilesUpLoad.ashx',
'width': 120,
'fileSizeLimit': '4MB',
'onUploadStart': function (file) {
var type = $("select[id$=ddlType]").val();
$("#file_upload").uploadify("settings", "formData", { 'type': type });
}
});


后台代码:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";
//获取上传文件队列
var oFile = context.Request.Files["Filedata"];
var fileType = context.Request.Form["type"];
if (oFile != null)
{
string fileName = oFile.FileName;
string filePath = DataAccess.GetParameter<string>(ParKey.CM_UPLOAD_FILE_DIR);
filePath = string.Format(@"{0}\{1}\Record Keeping Function\{2}\", filePath, DataAccess.CurrSiteCode, "TEST");

//检查路径是否存在,如果不存在,则创建文件目录
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileSaveName = filePath + fileName;
////保存文件至公共文件夹下
//读取上传文件的信息源
byte[] buffer = new byte[oFile.ContentLength];
Stream stream = oFile.InputStream;
stream.Read(buffer, 0, oFile.ContentLength);
//将文件上传至远程的共享目录
FileStream fs = File.Create(fileSaveName);
fs.Write(buffer, 0, buffer.Length);
fs.Close();

//添加上传文件的记录
//new RkfFileInfoManager().AddFileUploadModel(model);
// 上面的所有操作顺利完成,你就完成了一个文件的上传(和保存信息到数据库),返回成功,在此我返回1,表示上传了一个文件
context.Response.Write("1");
}
else
{
context.Response.Write("0");
}
}

注意点:
'formData': { 'type': '' },一定要先初始化,然后再用赋值,这样才能在后台$("#file_upload").uploadify("settings", "formData", { 'type': type });
获取,不然在后台获取将永远是NULL值。

你可能感兴趣的:(Uploadify批量上传后台传参问题)