用javascript读取所需文件的文件流
最近在学习使用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控件所选择文件的文件流*/
添加一个html的button控件,<input id="Button1" type="button" value="读取文件" onclick="Getfileinfo();" />
结果运行完全可以,在后台可以直接使用TextBox1.Text来读取所要的信息.


<script>
/*读取FileUpload控件所选择文件的文件流*/
1
function 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>

2

3

4

5

6

7

8

9

10

11

12

添加一个html的button控件,<input id="Button1" type="button" value="读取文件" onclick="Getfileinfo();" />
结果运行完全可以,在后台可以直接使用TextBox1.Text来读取所要的信息.