两种解决方案,一种是运用纯ASP(FSO)来完成,此法不受浏览器的安全级别限制;第二种是采用纯JS的方法来完成,但是受浏览器的安全级别限制。
现在我再给一种新的解决方案,就是采用ASP+JS(AJAX异步提交和获取不刷新页面)的方式来完成你想要的效果(分两个文件,一个是ajax_txt.asp,另一个是ajax_txt_save.asp),此法不受浏览器的安全级别限制,希望你能满意,具体代码如下:
第一个文件ajax_txt.asp的代码:
(此页是AJAX异步提交txt文本文件的路径到ajax_txt_save.asp页面,并从ajax_txt_save.asp获取返回的数据)
无标题文档
JS读取文本文件的内容并赋值给textarea控件
第二个文件ajax_txt_save.asp的代码:
(此页是用ASP中的FSO来读取txt文本文件中的内容并输出,为ajax_txt.asp这个页面的AJAX异步获取提供数据)
<%
'//禁止缓存该页 让AJAX读取该页始终为最新而非过期缓存页
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
response.Charset="GB2312" '//数据返回的编码类型 显示中文数据必须
Dim objFSO
Dim objText
Dim ObjFile
Dim strTextContent
Dim objDrive
'创建一个文件操作对象实例
Set objFSO = CreateObject("Scripting.FileSystemObject")
'要打开的文件
ObjFile=trim(request("filesname")) '从文浏览控件中获取
IF objFSO.FileExists(ObjFile) then
Set objText = objFSO.OpenTextFile(ObjFile,1)
'循环读取数据
k=0
While not objText.AtEndOfStream '到文件的末尾
strTextContent = strTextContent & objText.ReadLine() & vbcrlf
k=k+1
wend
objText.Close
response.write strTextContent & "," & k
else
strTextContent= "文件不存在"
response.end()
end if
%>
以上代码经测试,100%能使用,且不受浏览器的安全级别限制,祝你好运!