在客户端清除fileUpLoad控件的文件路径

今天在写一项目的更新模块遇到的一个问题:.net fileUpLoad控件只要选择了文件在Postback的时候这个文件都会被自动上传到服务器,而我的更新模块里需要有选择的判断要不要上传文件,原理说起来比较简单,直接把fileUpLoad控件选定的文件去除不就行了贝,可是使用js去除的时候发现IE下fileUpLoad控件的值居然还是只读的,而在FireFox下是可以更改的。如果在.net提交事件中来处理是不是要保存这个文件那就意味着,被fileUpLoad控件选择的文件都会被上传一次到服务器,只不过是你存不存的问题了,相当浪费带宽及服务器资源啊。不过还好馒头的BLOG里给出了解决的办法,经比较个人感觉以下方式比较好:

引用

创建一个新的form,把上传控件临时放过来,再调用这个form的reset方法,完工之后再把上传控件弄回去。这个form无需进入DOM结构便能正常工作,所以不用担心会对界面有任影响。

具体解决代码:view plaincopy to clipboardprint?

//把这个JS放到页面的<body>中 
<script language="javascript" type="text/javascript"> 
//清空文件上传框,file为上传表单对像 
function clearFileInput(file){ 
var form=document.createElement('form'); 
document.body.appendChild(form); 
//记住file在旧表单中的的位置 
var pos=file.nextSibling; 
form.appendChild(file); 
form.reset(); 
pos.parentNode.insertBefore(file,pos); 
document.body.removeChild(form); 
} 
</script>
//把这个JS放到页面的<body>中
<script language="javascript" type="text/javascript">
//清空文件上传框,file为上传表单对像
function clearFileInput(file){
var form=document.createElement('form');
document.body.appendChild(form);
//记住file在旧表单中的的位置
var pos=file.nextSibling;
form.appendChild(file);
form.reset();
pos.parentNode.insertBefore(file,pos);
document.body.removeChild(form);
}
</script>view plaincopy to clipboardprint?

//添加按钮的客户端脚本事件,当然你也可以写在按钮的属性里,或是直接在HTML的button上加onclick事件也一样 

btnCannel.OnClientClick = "clearFileInput(document.getElementById('" + 上传控件ID.ClientID + "'));"

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索form
, 文件
, file
, 控件
, fileupload
, document
, ploadify上传控件问题
, file控件上传
, File控件
, 前端上传form表单
, 清空File控件
, form表单文件上传
js打印对像
fileupload清除路径、fileupload控件路径、fileupload控件、fileupload控件属性、获取fileupload路径,以便于您获取更多的相关知识。

时间: 2024-11-30 23:24:33

在客户端清除fileUpLoad控件的文件路径的相关文章

JavaScript判断FileUpload控件上传文件类型_javascript技巧

为了代码变得更加简捷,笔者使用了正则表达式来获取文件扩展名,如果读者对正则表达式不太了解或者从来没有接触过,请马上恶补一下吧!毕竟它非常重要,大多数的编程语言都支持正则表达式. 大家都知道,后台获取FileUpload扩展名方法: string ext = Path.GetExtension(fu.PostedFile.FileName); JS判断FileUpload控件上传文件的扩展名: <html xmlns="http://www.w3.org/1999/xhtml"&g

aspnet-Asp.net中不用fileupload控件如何上传文件?谢谢!

问题描述 Asp.net中不用fileupload控件如何上传文件?谢谢! Asp.net中不用fileupload控件,在知道客户端待上传的文件路径和文件名,如何上传文件?谢谢! 解决方案 http://bbs.csdn.net/topics/320051989

不用fileUpload控件如何上传文件?

问题描述 不用fileUpload控件如何上传文件? 解决方案 解决方案二:http://hi.baidu.com/kmiaoer/blog/item/da77ceef2b127a37acafd593.html解决方案三:看看~!收藏别人的,对你有帮助~~解决方案四:不用控件你可以开发客户端ActiveX控件来上传,类似现在网易.TOM相册那样的上传方式解决方案五:有好东西!解决方案六:加我QQ66516186发你DEMO解决方案七:用ftp

asp.net fileupload控件上传文件与多文件上传_实用技巧

1.前台文件 Default.aspx: <%@ Page Language="C#" AutoEventWireup="true"CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

C# 如何像fileUpLoad控件那样实现浏览选择文件夹的路径

问题描述 C# 如何像fileUpLoad控件那样实现浏览选择文件夹的路径 做一个选择文件夹的功能 可以点击按钮浏览本地的文件夹选择后文件夹的路径保存在框中,谢谢大神们 解决方案 OpenFileDialog FolderBrowserDialog

如何在使用fileupload控件的时候,在客户端生成预览。

问题描述 如何在使用fileupload控件的时候,在客户端生成预览fileupload中没有onchange行为,所以不知道怎么办. 解决方案 解决方案二:预览啥?还是要看到上传的进度?解决方案三:<asp:FileUploadID="FileUpload1"runat="server"onpropertychange="document.getElementById('Image1').src=this.value"/>image

Asp.net中FileUpload控件上传文件例子

 代码如下 复制代码 /// <summary>使用FileUpload控件上传文件</summary>          /// <param name="page">this</param>          /// <param name="path">文件保存目录,相对路径示例:"~/UploadFile",绝对路径示例:"E:UploadFile",提示:w

使用FileUpload控件上传图片,上传不到文件夹,数据库也没有写入,图片无法显示。

问题描述 使用FileUpload控件上传图片,图片上传不到文件夹,数据库也没有写入图片的表,图片无法显示.但其他都正常,都能显示前台页面代码:<bodystyle="background-image:url(../images/right.png);background-repeat:no-repeat;"><formid="form1"runat="server"><div><br/><b

.Net中FileUpload控件文件上传与验证实用例子

最简单的fileupload控件上传图片例子  代码如下 复制代码 using System.IO; protected void Button1_Click(object sender, EventArgs e) { Boolean fileOk = false; //指定文件路径,pic是项目下的一个文件夹:-表示当前网页所在的文件夹 String path = Server.MapPath("~/");//物理文件路径 //文件上传控件中如果已经包含文件 if (FileUplo