在page_load里面。将上传的文件更名并将更名后的名称放在一hiddenfiled中。
在用户点击提交按钮来保存其他的文本框的信息到数据库的时候,不能得到hiddenfiled中的值?
各位有什么好的建议?
9 个解决方案
#1
有使用过swfupload没有?
#2
顶下 直接用fileupload不行?
#3
既然是异步上传,那其他表单项目最好也用异步保存。
文件上传后,将文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
文件上传后,将文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
#4
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf',
'script' : 'DoFileUpLoad.aspx',
'cancelImg' : 'images/cancel.png',
'queueID' : 'fileQueues',
'auto' : true ,
'multi' : false,
'sizeLimit' : 10000000, //控制上传文件的大小,单位byte10240000
'simUploadLimit' :3, //多文件上传时,同时上传文件数目限制
'buttonImg' :'images/addfileses.gif',
'height' :'21px',
'onSelect':function(event,queueID,fileObj){
//选择文件时触发
},
'onOpen':function(event,queueID,fileObj){
var filesize=parseInt(fileObj.size)/1000000;
AllFileSize=AllFileSize+filesize;
//
if(AllFileSize >1)
{
alert("上传附件大小总和不能超过10M");
$("#uploadify").uploadifyCancel(queueID);
}
},
'onCancel':function(event,queueID,fileObj,data){
var filesize=parseInt(fileObj.size )/1000000;
AllFileSize=AllFileSize-filesize;
},
'onComplete':function(event, queueID, fileObj, response, data){
var requestdata=eval('('+response +')');
var error=requestdata.error;
var filename=requestdata.filename;
var filesize=parseInt(fileObj.size)/1000000;
if($.trim(error)!="")
{
// alert("文件:“" + filename + "”" + error);
}
else
{
$("#fileQueues").append("<div style='border: 1px dashed #C0C0C0; margin-top:10px'><span style='margin-left:5px'>文件名:"+ filename +" </span><span style='margin-left:5px'>文件大小:"+ filesize +"MB </span> <span style='margin-left:20px'><a style='color:blue;' href='javascript:void(0)' onclick=\"DelFile($(this),'"+ filesize +"')\">[ 删 除 ]</a></span><input name='hi_filename' type='hidden' value='"+ filename +"' /></div>");
}
}
});
});
function ForDight1(Dight,How) {
Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);
return Dight;
}
//删除文件
function DelFile(obj,filesize)
{
AllFileSize=AllFileSize-filesize;
obj_parent =obj.parent().parent();
obj_parent.remove();
}
//自动保存到草稿箱
function AutoSave()
{
//获取上传后的文件名列表
var FileQueues="";
$("#fileQueues").find(":input[name='hi_filename']").each(function(){
FileQueues=FileQueues+","+$(this).val();
});
var objComposeTo = $("#objComposeTo").val();//收件人
var objComposeCc= $("#objComposeCc").val();//抄送
var objComposeBcc=$("#objComposeBcc").val(); //密送
var objComposeSubject=$("#objComposeSubject").val(); //主题
var txtBodyContent=FCKeditorAPI.GetInstance("txtBodyContent").GetXHTML();//内容
//alert(txtBodyContent);
var cbOK="0";//发送时同时保存到[已发送]
if($("#cbOK").attr("checked")!="") cbOK="1";
var cbInstancy="0";//紧急
if($("#cbInstancy").attr("checked")!="") cbInstancy="1";
var Receipt="0";//已读回执
if($("#Receipt").attr("checked")!="") Receipt="1";
var DingSend="0";//定时发送
if($("#DingSend").attr("checked")!="") DingSend="1";
var txtTime=$("#txtTime").val();
var DropDownList1=$("#DropDownList1").val();
var DropDownList2=$("#DropDownList2").val();
var MailID=$("#MailID").val();
$.post("NewMail.aspx?ac=AutoSave",{MailID:""+ MailID +"",FileQueues:""+ FileQueues +"",objComposeTo:""+ objComposeTo +"",objComposeCc:""+ objComposeCc +"",objComposeBcc:""+ objComposeBcc +"",objComposeSubject:""+ objComposeSubject +"",txtBodyContent:""+ txtBodyContent +"",cbOK:""+ cbOK +"",cbInstancy:""+ cbInstancy +"",Receipt:""+ Receipt +"",DingSend:""+ DingSend +"",txtTime:""+ txtTime +"",DropDownList1:""+ DropDownList1 +"",DropDownList2:""+ DropDownList2 +""},function(data){
var dd=new Date();
var sub=data.split('|');
if(sub[0]=="1")
{
$("#MailID").val(sub[1]);
$("#SaveResoultInfo_Div").html("邮件已经存入草稿箱,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
else
{
$("#SaveResoultInfo_Div").html("邮件存入草稿箱失败,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
//alert(data);
})
}
//每5分钟保存一次
//setInterval("AutoSave()",300000);
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf',
'script' : 'DoFileUpLoad.aspx',
'cancelImg' : 'images/cancel.png',
'queueID' : 'fileQueues',
'auto' : true ,
'multi' : false,
'sizeLimit' : 10000000, //控制上传文件的大小,单位byte10240000
'simUploadLimit' :3, //多文件上传时,同时上传文件数目限制
'buttonImg' :'images/addfileses.gif',
'height' :'21px',
'onSelect':function(event,queueID,fileObj){
//选择文件时触发
},
'onOpen':function(event,queueID,fileObj){
var filesize=parseInt(fileObj.size)/1000000;
AllFileSize=AllFileSize+filesize;
//
if(AllFileSize >1)
{
alert("上传附件大小总和不能超过10M");
$("#uploadify").uploadifyCancel(queueID);
}
},
'onCancel':function(event,queueID,fileObj,data){
var filesize=parseInt(fileObj.size )/1000000;
AllFileSize=AllFileSize-filesize;
},
'onComplete':function(event, queueID, fileObj, response, data){
var requestdata=eval('('+response +')');
var error=requestdata.error;
var filename=requestdata.filename;
var filesize=parseInt(fileObj.size)/1000000;
if($.trim(error)!="")
{
// alert("文件:“" + filename + "”" + error);
}
else
{
$("#fileQueues").append("<div style='border: 1px dashed #C0C0C0; margin-top:10px'><span style='margin-left:5px'>文件名:"+ filename +" </span><span style='margin-left:5px'>文件大小:"+ filesize +"MB </span> <span style='margin-left:20px'><a style='color:blue;' href='javascript:void(0)' onclick=\"DelFile($(this),'"+ filesize +"')\">[ 删 除 ]</a></span><input name='hi_filename' type='hidden' value='"+ filename +"' /></div>");
}
}
});
});
function ForDight1(Dight,How) {
Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);
return Dight;
}
//删除文件
function DelFile(obj,filesize)
{
AllFileSize=AllFileSize-filesize;
obj_parent =obj.parent().parent();
obj_parent.remove();
}
//自动保存到草稿箱
function AutoSave()
{
//获取上传后的文件名列表
var FileQueues="";
$("#fileQueues").find(":input[name='hi_filename']").each(function(){
FileQueues=FileQueues+","+$(this).val();
});
var objComposeTo = $("#objComposeTo").val();//收件人
var objComposeCc= $("#objComposeCc").val();//抄送
var objComposeBcc=$("#objComposeBcc").val(); //密送
var objComposeSubject=$("#objComposeSubject").val(); //主题
var txtBodyContent=FCKeditorAPI.GetInstance("txtBodyContent").GetXHTML();//内容
//alert(txtBodyContent);
var cbOK="0";//发送时同时保存到[已发送]
if($("#cbOK").attr("checked")!="") cbOK="1";
var cbInstancy="0";//紧急
if($("#cbInstancy").attr("checked")!="") cbInstancy="1";
var Receipt="0";//已读回执
if($("#Receipt").attr("checked")!="") Receipt="1";
var DingSend="0";//定时发送
if($("#DingSend").attr("checked")!="") DingSend="1";
var txtTime=$("#txtTime").val();
var DropDownList1=$("#DropDownList1").val();
var DropDownList2=$("#DropDownList2").val();
var MailID=$("#MailID").val();
$.post("NewMail.aspx?ac=AutoSave",{MailID:""+ MailID +"",FileQueues:""+ FileQueues +"",objComposeTo:""+ objComposeTo +"",objComposeCc:""+ objComposeCc +"",objComposeBcc:""+ objComposeBcc +"",objComposeSubject:""+ objComposeSubject +"",txtBodyContent:""+ txtBodyContent +"",cbOK:""+ cbOK +"",cbInstancy:""+ cbInstancy +"",Receipt:""+ Receipt +"",DingSend:""+ DingSend +"",txtTime:""+ txtTime +"",DropDownList1:""+ DropDownList1 +"",DropDownList2:""+ DropDownList2 +""},function(data){
var dd=new Date();
var sub=data.split('|');
if(sub[0]=="1")
{
$("#MailID").val(sub[1]);
$("#SaveResoultInfo_Div").html("邮件已经存入草稿箱,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
else
{
$("#SaveResoultInfo_Div").html("邮件存入草稿箱失败,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
//alert(data);
})
}
//每5分钟保存一次
//setInterval("AutoSave()",300000);
#5
文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
保存到hiddenfiled中,还是不能得到文件名.
关键是上传在page_upload中处理,
如果能在button的事件中处理就好了
保存到hiddenfiled中,还是不能得到文件名.
关键是上传在page_upload中处理,
如果能在button的事件中处理就好了
#6
http://www.cnblogs.com/peaceli/archive/2009/01/16/1377198.html
里面有代码。。
我试着用过,里面的文件进IO过程中取消有问题,然后删除时只可以删一个不过这个好改
还有就是上传大小为零的文件时提示图标有时有有时没有。。。
代码强大的一塌糊涂,你要是能整明白就好了
里面有代码。。
我试着用过,里面的文件进IO过程中取消有问题,然后删除时只可以删一个不过这个好改
还有就是上传大小为零的文件时提示图标有时有有时没有。。。
代码强大的一塌糊涂,你要是能整明白就好了
#7
这个问题你弄好了吗?我也遇到了同样的问题。
能讲解下吗?
能讲解下吗?
#8
对于上传大文件,用SWFUPLOAD比较理想,稳定性不错,速度也快。但SWFUPLOAD上传文件时是重新开一个会话,与原来的会话没有任何关系,因此用Sessiona或hiddenfiled都无法进行传参。
我是用数据库一个临时表来传参数。主要思路如下:
1、在uploadfile.aspx页面 upload_url: 设为 " <%=strasp %>"
2、在uploadfile.aspx.cs文件
(1) 增加 public string strasp = "flashupload.aspx?sid=0";
(2)在Page_Load中
if (!IsPostBack)
ParamInit();
//在ParamInit()中产生唯一sid,并设strasp="flashload.aspx?sid"+sid,可把需要的参数一起写入数据库,把sid通过session或viewstate存起来供上传完成后提交入库时使用.(sid起标识作用。)
3、在文件上传后的处理文件flashupload.aspx.cs的page_load中
(1)先取得传过来的sid: string sid= Request.QueryString["sid"].ToString();
(2)以sid为标识,把文件名、文件大小等需要的参数写入数据库临时表
4、文件上传完成后,在uploadfile.aspx页面提交入库的代码中,以sid为标识通过数据库把需要的参数(文件名、大小等)取出来.
虽然感觉这方法有些别扭,但在两个项目中运行得还不错。不知谁有更好的方法,大家互相交流一下。
我是用数据库一个临时表来传参数。主要思路如下:
1、在uploadfile.aspx页面 upload_url: 设为 " <%=strasp %>"
2、在uploadfile.aspx.cs文件
(1) 增加 public string strasp = "flashupload.aspx?sid=0";
(2)在Page_Load中
if (!IsPostBack)
ParamInit();
//在ParamInit()中产生唯一sid,并设strasp="flashload.aspx?sid"+sid,可把需要的参数一起写入数据库,把sid通过session或viewstate存起来供上传完成后提交入库时使用.(sid起标识作用。)
3、在文件上传后的处理文件flashupload.aspx.cs的page_load中
(1)先取得传过来的sid: string sid= Request.QueryString["sid"].ToString();
(2)以sid为标识,把文件名、文件大小等需要的参数写入数据库临时表
4、文件上传完成后,在uploadfile.aspx页面提交入库的代码中,以sid为标识通过数据库把需要的参数(文件名、大小等)取出来.
虽然感觉这方法有些别扭,但在两个项目中运行得还不错。不知谁有更好的方法,大家互相交流一下。
#9
都这么多年了这个帖子,不过8楼的理解很真正确,SWFUpload组件确实又新建了一个会话,通过Session以及request的setAttribute等方法都无法解决。只能是将数据传入到数据库中作为临时数据,没有什么好方法了
#1
有使用过swfupload没有?
#2
顶下 直接用fileupload不行?
#3
既然是异步上传,那其他表单项目最好也用异步保存。
文件上传后,将文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
文件上传后,将文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
#4
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf',
'script' : 'DoFileUpLoad.aspx',
'cancelImg' : 'images/cancel.png',
'queueID' : 'fileQueues',
'auto' : true ,
'multi' : false,
'sizeLimit' : 10000000, //控制上传文件的大小,单位byte10240000
'simUploadLimit' :3, //多文件上传时,同时上传文件数目限制
'buttonImg' :'images/addfileses.gif',
'height' :'21px',
'onSelect':function(event,queueID,fileObj){
//选择文件时触发
},
'onOpen':function(event,queueID,fileObj){
var filesize=parseInt(fileObj.size)/1000000;
AllFileSize=AllFileSize+filesize;
//
if(AllFileSize >1)
{
alert("上传附件大小总和不能超过10M");
$("#uploadify").uploadifyCancel(queueID);
}
},
'onCancel':function(event,queueID,fileObj,data){
var filesize=parseInt(fileObj.size )/1000000;
AllFileSize=AllFileSize-filesize;
},
'onComplete':function(event, queueID, fileObj, response, data){
var requestdata=eval('('+response +')');
var error=requestdata.error;
var filename=requestdata.filename;
var filesize=parseInt(fileObj.size)/1000000;
if($.trim(error)!="")
{
// alert("文件:“" + filename + "”" + error);
}
else
{
$("#fileQueues").append("<div style='border: 1px dashed #C0C0C0; margin-top:10px'><span style='margin-left:5px'>文件名:"+ filename +" </span><span style='margin-left:5px'>文件大小:"+ filesize +"MB </span> <span style='margin-left:20px'><a style='color:blue;' href='javascript:void(0)' onclick=\"DelFile($(this),'"+ filesize +"')\">[ 删 除 ]</a></span><input name='hi_filename' type='hidden' value='"+ filename +"' /></div>");
}
}
});
});
function ForDight1(Dight,How) {
Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);
return Dight;
}
//删除文件
function DelFile(obj,filesize)
{
AllFileSize=AllFileSize-filesize;
obj_parent =obj.parent().parent();
obj_parent.remove();
}
//自动保存到草稿箱
function AutoSave()
{
//获取上传后的文件名列表
var FileQueues="";
$("#fileQueues").find(":input[name='hi_filename']").each(function(){
FileQueues=FileQueues+","+$(this).val();
});
var objComposeTo = $("#objComposeTo").val();//收件人
var objComposeCc= $("#objComposeCc").val();//抄送
var objComposeBcc=$("#objComposeBcc").val(); //密送
var objComposeSubject=$("#objComposeSubject").val(); //主题
var txtBodyContent=FCKeditorAPI.GetInstance("txtBodyContent").GetXHTML();//内容
//alert(txtBodyContent);
var cbOK="0";//发送时同时保存到[已发送]
if($("#cbOK").attr("checked")!="") cbOK="1";
var cbInstancy="0";//紧急
if($("#cbInstancy").attr("checked")!="") cbInstancy="1";
var Receipt="0";//已读回执
if($("#Receipt").attr("checked")!="") Receipt="1";
var DingSend="0";//定时发送
if($("#DingSend").attr("checked")!="") DingSend="1";
var txtTime=$("#txtTime").val();
var DropDownList1=$("#DropDownList1").val();
var DropDownList2=$("#DropDownList2").val();
var MailID=$("#MailID").val();
$.post("NewMail.aspx?ac=AutoSave",{MailID:""+ MailID +"",FileQueues:""+ FileQueues +"",objComposeTo:""+ objComposeTo +"",objComposeCc:""+ objComposeCc +"",objComposeBcc:""+ objComposeBcc +"",objComposeSubject:""+ objComposeSubject +"",txtBodyContent:""+ txtBodyContent +"",cbOK:""+ cbOK +"",cbInstancy:""+ cbInstancy +"",Receipt:""+ Receipt +"",DingSend:""+ DingSend +"",txtTime:""+ txtTime +"",DropDownList1:""+ DropDownList1 +"",DropDownList2:""+ DropDownList2 +""},function(data){
var dd=new Date();
var sub=data.split('|');
if(sub[0]=="1")
{
$("#MailID").val(sub[1]);
$("#SaveResoultInfo_Div").html("邮件已经存入草稿箱,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
else
{
$("#SaveResoultInfo_Div").html("邮件存入草稿箱失败,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
//alert(data);
})
}
//每5分钟保存一次
//setInterval("AutoSave()",300000);
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf',
'script' : 'DoFileUpLoad.aspx',
'cancelImg' : 'images/cancel.png',
'queueID' : 'fileQueues',
'auto' : true ,
'multi' : false,
'sizeLimit' : 10000000, //控制上传文件的大小,单位byte10240000
'simUploadLimit' :3, //多文件上传时,同时上传文件数目限制
'buttonImg' :'images/addfileses.gif',
'height' :'21px',
'onSelect':function(event,queueID,fileObj){
//选择文件时触发
},
'onOpen':function(event,queueID,fileObj){
var filesize=parseInt(fileObj.size)/1000000;
AllFileSize=AllFileSize+filesize;
//
if(AllFileSize >1)
{
alert("上传附件大小总和不能超过10M");
$("#uploadify").uploadifyCancel(queueID);
}
},
'onCancel':function(event,queueID,fileObj,data){
var filesize=parseInt(fileObj.size )/1000000;
AllFileSize=AllFileSize-filesize;
},
'onComplete':function(event, queueID, fileObj, response, data){
var requestdata=eval('('+response +')');
var error=requestdata.error;
var filename=requestdata.filename;
var filesize=parseInt(fileObj.size)/1000000;
if($.trim(error)!="")
{
// alert("文件:“" + filename + "”" + error);
}
else
{
$("#fileQueues").append("<div style='border: 1px dashed #C0C0C0; margin-top:10px'><span style='margin-left:5px'>文件名:"+ filename +" </span><span style='margin-left:5px'>文件大小:"+ filesize +"MB </span> <span style='margin-left:20px'><a style='color:blue;' href='javascript:void(0)' onclick=\"DelFile($(this),'"+ filesize +"')\">[ 删 除 ]</a></span><input name='hi_filename' type='hidden' value='"+ filename +"' /></div>");
}
}
});
});
function ForDight1(Dight,How) {
Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);
return Dight;
}
//删除文件
function DelFile(obj,filesize)
{
AllFileSize=AllFileSize-filesize;
obj_parent =obj.parent().parent();
obj_parent.remove();
}
//自动保存到草稿箱
function AutoSave()
{
//获取上传后的文件名列表
var FileQueues="";
$("#fileQueues").find(":input[name='hi_filename']").each(function(){
FileQueues=FileQueues+","+$(this).val();
});
var objComposeTo = $("#objComposeTo").val();//收件人
var objComposeCc= $("#objComposeCc").val();//抄送
var objComposeBcc=$("#objComposeBcc").val(); //密送
var objComposeSubject=$("#objComposeSubject").val(); //主题
var txtBodyContent=FCKeditorAPI.GetInstance("txtBodyContent").GetXHTML();//内容
//alert(txtBodyContent);
var cbOK="0";//发送时同时保存到[已发送]
if($("#cbOK").attr("checked")!="") cbOK="1";
var cbInstancy="0";//紧急
if($("#cbInstancy").attr("checked")!="") cbInstancy="1";
var Receipt="0";//已读回执
if($("#Receipt").attr("checked")!="") Receipt="1";
var DingSend="0";//定时发送
if($("#DingSend").attr("checked")!="") DingSend="1";
var txtTime=$("#txtTime").val();
var DropDownList1=$("#DropDownList1").val();
var DropDownList2=$("#DropDownList2").val();
var MailID=$("#MailID").val();
$.post("NewMail.aspx?ac=AutoSave",{MailID:""+ MailID +"",FileQueues:""+ FileQueues +"",objComposeTo:""+ objComposeTo +"",objComposeCc:""+ objComposeCc +"",objComposeBcc:""+ objComposeBcc +"",objComposeSubject:""+ objComposeSubject +"",txtBodyContent:""+ txtBodyContent +"",cbOK:""+ cbOK +"",cbInstancy:""+ cbInstancy +"",Receipt:""+ Receipt +"",DingSend:""+ DingSend +"",txtTime:""+ txtTime +"",DropDownList1:""+ DropDownList1 +"",DropDownList2:""+ DropDownList2 +""},function(data){
var dd=new Date();
var sub=data.split('|');
if(sub[0]=="1")
{
$("#MailID").val(sub[1]);
$("#SaveResoultInfo_Div").html("邮件已经存入草稿箱,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
else
{
$("#SaveResoultInfo_Div").html("邮件存入草稿箱失败,保存时间:"+dd.getHours() +":"+ dd.getMinutes()+":"+dd.getSeconds() );
$("#SaveResoultInfo_Div").show("fast");
}
//alert(data);
})
}
//每5分钟保存一次
//setInterval("AutoSave()",300000);
#5
文件名返回回来,存在一个隐藏域中,然后点击保存的时候 一起保存到数据库
保存到hiddenfiled中,还是不能得到文件名.
关键是上传在page_upload中处理,
如果能在button的事件中处理就好了
保存到hiddenfiled中,还是不能得到文件名.
关键是上传在page_upload中处理,
如果能在button的事件中处理就好了
#6
http://www.cnblogs.com/peaceli/archive/2009/01/16/1377198.html
里面有代码。。
我试着用过,里面的文件进IO过程中取消有问题,然后删除时只可以删一个不过这个好改
还有就是上传大小为零的文件时提示图标有时有有时没有。。。
代码强大的一塌糊涂,你要是能整明白就好了
里面有代码。。
我试着用过,里面的文件进IO过程中取消有问题,然后删除时只可以删一个不过这个好改
还有就是上传大小为零的文件时提示图标有时有有时没有。。。
代码强大的一塌糊涂,你要是能整明白就好了
#7
这个问题你弄好了吗?我也遇到了同样的问题。
能讲解下吗?
能讲解下吗?
#8
对于上传大文件,用SWFUPLOAD比较理想,稳定性不错,速度也快。但SWFUPLOAD上传文件时是重新开一个会话,与原来的会话没有任何关系,因此用Sessiona或hiddenfiled都无法进行传参。
我是用数据库一个临时表来传参数。主要思路如下:
1、在uploadfile.aspx页面 upload_url: 设为 " <%=strasp %>"
2、在uploadfile.aspx.cs文件
(1) 增加 public string strasp = "flashupload.aspx?sid=0";
(2)在Page_Load中
if (!IsPostBack)
ParamInit();
//在ParamInit()中产生唯一sid,并设strasp="flashload.aspx?sid"+sid,可把需要的参数一起写入数据库,把sid通过session或viewstate存起来供上传完成后提交入库时使用.(sid起标识作用。)
3、在文件上传后的处理文件flashupload.aspx.cs的page_load中
(1)先取得传过来的sid: string sid= Request.QueryString["sid"].ToString();
(2)以sid为标识,把文件名、文件大小等需要的参数写入数据库临时表
4、文件上传完成后,在uploadfile.aspx页面提交入库的代码中,以sid为标识通过数据库把需要的参数(文件名、大小等)取出来.
虽然感觉这方法有些别扭,但在两个项目中运行得还不错。不知谁有更好的方法,大家互相交流一下。
我是用数据库一个临时表来传参数。主要思路如下:
1、在uploadfile.aspx页面 upload_url: 设为 " <%=strasp %>"
2、在uploadfile.aspx.cs文件
(1) 增加 public string strasp = "flashupload.aspx?sid=0";
(2)在Page_Load中
if (!IsPostBack)
ParamInit();
//在ParamInit()中产生唯一sid,并设strasp="flashload.aspx?sid"+sid,可把需要的参数一起写入数据库,把sid通过session或viewstate存起来供上传完成后提交入库时使用.(sid起标识作用。)
3、在文件上传后的处理文件flashupload.aspx.cs的page_load中
(1)先取得传过来的sid: string sid= Request.QueryString["sid"].ToString();
(2)以sid为标识,把文件名、文件大小等需要的参数写入数据库临时表
4、文件上传完成后,在uploadfile.aspx页面提交入库的代码中,以sid为标识通过数据库把需要的参数(文件名、大小等)取出来.
虽然感觉这方法有些别扭,但在两个项目中运行得还不错。不知谁有更好的方法,大家互相交流一下。
#9
都这么多年了这个帖子,不过8楼的理解很真正确,SWFUpload组件确实又新建了一个会话,通过Session以及request的setAttribute等方法都无法解决。只能是将数据传入到数据库中作为临时数据,没有什么好方法了