不用runat="server"如何保存<input type="file">中的文件?

前台代码如下,用于实现预览待上传图片,上传不能设成runat="server",那么如何保存上传文件呢?我试过用{System.Web.HttpFileCollectio... 前台代码如下,用于实现预览待上传图片,上传不能设成runat="server",那么如何保存上传文件呢?我试过用{System.Web.HttpFileCollection file = HttpContext.Current.Request.Files;HttpPostedFile fileupload=file;}来寻找上传文件但是提示错误:无法将类型“System.Web.HttpPostedFile”隐式转换为“System.Web.HttpFileCollection”,请高手赐教!

<input type="file" name="file" id="file5" onchange="preview()" />
<asp:Label ID="Label2" runat="server" Width="57px"></asp:Label>

<img id="pic" src="" alt="暂无缩略图" height="90" width="120" />

<script type="text/javascript">
function preview()
{var x = document.getElementById("file");
if(!x || !x.value) return;
var patn = /\.jpg$|\.jpeg$|\.gif$|\.bmp$/i;
if(patn.test(x.value))
{
var y = document.getElementById("pic");
if(y)
{y.src = 'file://localhost/' + x.value;}
else{var img=document.createElement('img');
img.setAttribute('src','file://localhost/'+x.value);
img.setAttribute('width','120');
img.setAttribute('height','90');
img.setAttribute('id','pic'); document.getElementById('form').appendChild(img);
}
}
else
{ alert("您选择的似乎不是图像文件。"); }
}
</script>
此外我不能在input加入到form中,只要一加入就会提示错误,大概意思是页面用了validator就不能用form?。页面中还有updatepanel,听说updatepanel会于上传控件冲突,是否属实?我该怎么办?
展开
 我来答
lujiaxing
2008-03-28 · TA获得超过672个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:232万
展开全部
第一个问题:

我觉得你是没有理解集合和元素之间的关系!

HttpFileCollection 就像是个巧克力盒子,HttpPostedFile就是巧克力,盒子里有好多巧克力,但是能说巧克力盒子就是巧克力么?!?!?!

你要是想从盒子中获取巧克力,那你就要先知道,盒子里有多少块巧克力,你想要拿第几块巧克力!

而你的做法就像是拿起了一个巧克力盒子...连盖子都不打开直接用牙咬盒子去了.....................

具体到代码层面来说就是这样写:

System.Web.HttpFileCollection file = HttpContext.Current.Request.Files;
HttpPostedFile fileupload=file[编号];

第二个问题:

你不把input放进FROM里面如何提交呢?

但是话说回来...如果你放上去一个input编译之后网页中会多出来一个FORM...冲突就是这么来的..

你还不如这样呢..
把那些烂七八遭的服务器端控件干掉...
想要验证输入自己写脚本验证.
lable就直接<LABLE>或者<DIV>得了~~

然后呢..这个网页不是ASPX了..直接HTML!
然后用一个FORM包起来...
提交到另一个ASPX或ASHX
那边处理服务器端用
Request.Files[第几个]去取.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式