HttpInputFile是继承HttpPostedFile,HttpInputFile多了个PostedFile来访问上传的文件对象。而HttpPostedFile是直接就是该文件对象。
上传文件的控件是HTML控件,
1.表单提交到本页,可以直接使用访问对象的方式来获取提交的文件也就是HttpInputFile对象。
2.表单提交到另外一个网页时(这个可以看我另外一篇文章)
并且是使用iframe来提交,则Request["控件名"]中找不这个控件对象,必须使用Request.Files["控件名"],这样才能找到该上传文件对象。
例如:
表单页,HTML
(注意iframe是在表单form外,form的action就是处理页,method一般post比较好,target属性就是要处理的iframe)
function chk_imgpath () {
document.getElementById('form1').submit();
}
<form name="form1" id="form1" method="post" action="upload.aspx?action=upload" enctype="multipart/form-data" target="myiframe">
<input type="file" name="file1" id="file1" style="width:300px; border:#999999 1px solid">
<a href="#" id="mysubmit" onClick="return chk_imgpath()"><img border="0" src="../images/dilog_bt_ok.gif" alt="确定" style="margin-right: 10px;"/></a>
</form>
<iframe width="505" height="500" name="myiframe" id="myiframe" frameborder="0" scrolling="no"></iframe>
处理页,后台文件
System.Web.HttpPostedFile fileUpload2 = Request.Files["file1"];
补充,判断上传文件类型upload.PostedFile.ContentType比如image表示图片.