随笔-37  评论-155  文章-1  trackbacks-3
最近在学习使用ajax的一些控件,配合FileUpload控件读取本地文件的文件流的时候出现了一个问题.因为这里要添加一个button控件,在单击button控件的时候触发事件,读取文件流到一个textbox控件里面,这里在button事件里面取fileupload控件的FileUpload.PostFile.FileName时出现错误,在这里一直取不到FileUpload内的路径,在网上找了找发现这个还是个普遍的问题,找了两天也没有找到解决的方法.看到一个朋友在这里使用框架页来解决,所以也借用别人的方法来实现.
<iframe id="file" src="FrameFileBrowse.aspx" runat="server"></iframe>
在FrameFileBrowse.aspx页面里面不在使用updatepanel控件,结果可以满足自己的要求.后来向同事请教这个问题,一个同事建议使用javascript来实现.并写了一个javascript函数.如下:
<script>
    /*读取FileUpload控件所选择文件的文件流*/
   
 1function   Getfileinfo()
 2  {   
 3      var   fso,   f,file;   
 4      var   ForReading=1;
 5      var path=form1.FileUpload1.value;
 6      fso   =   new   ActiveXObject("Scripting.FileSystemObject");
 7      file=fso.GetFile(path);
 8      f=fso.OpenTextFile(path, ForReading);    
 9      form1.TextBox1.innerText=f.Read(file.Size);      
10      f.Close();   
11  }   
12</script>

添加一个html的button控件,<input id="Button1" type="button" value="读取文件" onclick="Getfileinfo();"  />
结果运行完全可以,在后台可以直接使用TextBox1.Text来读取所要的信息.
posted on 2007-03-29 12:16 Edwin dong 阅读(2448) 评论(9)  编辑 收藏 网摘

评论:
#1楼  2007-11-28 16:14 | 明明 [未注册用户]
问一下 接下来怎么把得到的数据流传回服务器
(如果是在做一个文件由客户端上传到服务器)
  回复  引用    
#2楼 [楼主] 2007-11-28 16:36 | Edwin dong      
执行完上面的以后,在TextBox控件里面就会有文件的路径,你可以在后台读取TextBox1的Text属性,然后使用System.IO来读取文件流。
以前忘记说明了,这里的TextBox控件是服务器端的控件。
  回复  引用  查看    
#3楼  2007-11-30 08:13 | 明明 [未注册用户]
是还要在页面再添加一个控件了TEXTBOX 来接收信息,对吗?
从脚本传个信息回去,直接在后台读fileupload中的信息行不行?
  回复  引用    
#4楼  2007-11-30 08:14 | 明明 [未注册用户]
都忘了说谢谢 ,谢谢了!
  回复  引用    
#5楼 [楼主] 2007-11-30 08:47 | Edwin dong      
以前我做项目的时候因为使用到了ajax的组件了,在后台取fileupload的时候取不出来值,所以才想到的这个方法.
  回复  引用  查看    
#6楼  2007-11-30 09:01 | 明明 [未注册用户]
那我做的也是这样的
我想把文件用javascript读出来 传到后台存入数据库
System.IO.stream 读取文本框的文本内容
怎么实现?
  回复  引用    
#7楼 [楼主] 2007-11-30 12:46 | Edwin dong      
我的方式是通过TextBox来保存本应该在FileUpload保存的文件路径,在后台取出文件路径以后在通过其他的方式读取文件流。如果有还有什么不明白的可以通过qq的方式聊,我的qq在左上角可以找到。
  回复  引用  查看    
#8楼  2007-12-18 22:12 | Annie      
为什么我一运行到
new ActiveXObject("Scripting.FileSystemObject");
这就出错呢
  回复  引用  查看    
#9楼 [楼主] 2007-12-19 08:46 | Edwin dong      
那你看看我的“automation服务器不能创建对象 ”这篇文章,看能不能帮到你。
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: