c#中,使用jquery uploadify v3.1上传, formData设置了一个fileppath参数,但是但是后台无法取值?
前台js代码:$(document).ready(function(){//为下拉框绑定数据bindType();varfilePath="";vartime=newDa...
前台js代码:
$(document).ready(function () {
//为下拉框绑定数据
bindType();
var filePath = "";
var time = new Date;
//单击上传按钮式触发的事件
$("#saveFile").click(function ()
{
//判断是否有选中文件
filePath = $("select[name=picType] option:selected").val();
filePath = filePath.substring(filePath.lastIndexOf(',') + 1);
$('#file_upload').uploadify('upload');
});
$('#file_upload').uploadify
({
auto: false, //是否自动进行上传,false:不自动上传
buttonText: '请选择文件',
queueSizeLimit: 7, //一次最多可以选择多少个文件
formData: { 'filepath': '' },
buttonCursor: 'hand',
width: 120,
height: 30,
swf: 'doUpload/uploadify.swf',
method: 'GET',
uploader: 'ashx/doUpload.ashx?domethod=saveFile&id=' + time , //进行上传处理的页面
onUploadStart: function ()
{
alert(filePath); //输出filePath的值为:2012-5-31-9-1023
$("#file_upload").uploadify("settings", "filepath", filePath);
},
onUploadComplete: function (file) {
//当上一张图片上传完成以后,如果还有图片就继续上传
$('#file_upload').uploadify('upload');
},
onFallback: function(){
alert("flash没有加载");
}
});
});
后台doUpload.ashx文件取值部分代码:
public void saveFile()
{
string tmp = Request["test_v"].ToString();
HttpPostedFile file = Request.Files["Filedata"];//获取需要上传的文件
string tmpPath = AppDomain.CurrentDomain.BaseDirectory;
string path = Request.Params["filepath"].ToString();
tmpPath = tmpPath + "upload\\";
if (file != null)
{
string fileName = file.FileName;
//取得文件名(包括路径)里最后一个 "."的索引
int index = fileName.LastIndexOf(".");
//取得文件扩展名
string extendName = fileName.Substring(index).ToLower();
//用当前时间为文件重名名,确保文件名不重复
string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff ");
//重命名后的文件名
newFileName = newFileName + extendName;
//保存文件
file.SaveAs(tmpPath + newFileName);
//数据库操作
Response.Write("1");
}
else
{
Response.Write("0");
}
}
无法取到pathfile的值:在调试的时候,vs直接提示pathfile这个参数不存在。
从request.params[""]集合的参数列表中,也找不到filepath这个参数,
有谁遇到这个问题吗?希望帮忙解决下。。。 展开
$(document).ready(function () {
//为下拉框绑定数据
bindType();
var filePath = "";
var time = new Date;
//单击上传按钮式触发的事件
$("#saveFile").click(function ()
{
//判断是否有选中文件
filePath = $("select[name=picType] option:selected").val();
filePath = filePath.substring(filePath.lastIndexOf(',') + 1);
$('#file_upload').uploadify('upload');
});
$('#file_upload').uploadify
({
auto: false, //是否自动进行上传,false:不自动上传
buttonText: '请选择文件',
queueSizeLimit: 7, //一次最多可以选择多少个文件
formData: { 'filepath': '' },
buttonCursor: 'hand',
width: 120,
height: 30,
swf: 'doUpload/uploadify.swf',
method: 'GET',
uploader: 'ashx/doUpload.ashx?domethod=saveFile&id=' + time , //进行上传处理的页面
onUploadStart: function ()
{
alert(filePath); //输出filePath的值为:2012-5-31-9-1023
$("#file_upload").uploadify("settings", "filepath", filePath);
},
onUploadComplete: function (file) {
//当上一张图片上传完成以后,如果还有图片就继续上传
$('#file_upload').uploadify('upload');
},
onFallback: function(){
alert("flash没有加载");
}
});
});
后台doUpload.ashx文件取值部分代码:
public void saveFile()
{
string tmp = Request["test_v"].ToString();
HttpPostedFile file = Request.Files["Filedata"];//获取需要上传的文件
string tmpPath = AppDomain.CurrentDomain.BaseDirectory;
string path = Request.Params["filepath"].ToString();
tmpPath = tmpPath + "upload\\";
if (file != null)
{
string fileName = file.FileName;
//取得文件名(包括路径)里最后一个 "."的索引
int index = fileName.LastIndexOf(".");
//取得文件扩展名
string extendName = fileName.Substring(index).ToLower();
//用当前时间为文件重名名,确保文件名不重复
string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff ");
//重命名后的文件名
newFileName = newFileName + extendName;
//保存文件
file.SaveAs(tmpPath + newFileName);
//数据库操作
Response.Write("1");
}
else
{
Response.Write("0");
}
}
无法取到pathfile的值:在调试的时候,vs直接提示pathfile这个参数不存在。
从request.params[""]集合的参数列表中,也找不到filepath这个参数,
有谁遇到这个问题吗?希望帮忙解决下。。。 展开
1个回答
展开全部
你必须要这样啊?!
Request.Files[0]不行么
Request.Files[0]不行么
追问
。。。太坑爹了,那天想问题肯定是短路了- -,都不知道换个思想想问题,不过那个问题我另外想办法解决了,刚刚你一提醒,我测试使用request.files[],取不到传过来的参数,但是使用 Request.Form["参数"]可以获取到。
request.files["参数"]主要是获取文件信息的。
Request.Form["参数"]获取表单的信息。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询