如何将一个TXT文档里内容导入到文本框里

如下图,点击浏览,选择一个txt文件,然后点击导入,将txt文档的内容显示在下面的文本框里请问这个代码如何实现呢??我很菜,麻烦请给详细的代码,非常感谢!我是要在ASP页... 如下图,
点击浏览,选择一个txt文件,然后点击导入,将txt文档的内容显示在下面的文本框里
请问这个代码如何实现呢??
我很菜,麻烦请给详细的代码,非常感谢!
我是要在ASP页面里实现这个功能的,所以,可以是ASP+JS,代码越简单越好!
展开
 我来答
百度网友2d845ff
2011-04-02 · TA获得超过204个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:324万
展开全部
今天看到你再次提这个问题,极度郁闷,之前我给出了两种解决方案,一种是运用纯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获取返回的数据)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>

<script type="text/javascript">
<!--
//将用户输入异步提交到服务器
function ajaxSubmit(){
//获取文件浏览控件中选择的文件路径
var filesname=document.form1.FileName.value;

if (filesname=="")
{
alert("请先选择要导入的txt文件!");
document.form1.FileName.focus();
return false;
}

//创建XMLHttpRequest对象
var xmlhttp;
try{
xmlhttp=new XMLHttpRequest();
}catch(e){
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//创建请求结果处理程序
xmlhttp.onreadystatechange=function(){
if (4==xmlhttp.readyState){
if (200==xmlhttp.status){
var dates=xmlhttp.responseText; //接收服务端返回的数据
var alldataarr;

if (dates=="null") {
alert('内容获取失败!');
} else {
alert('已成功获取到txt文本文件中的内容!');

alldataarr = dates.split(",");

document.form1.textarea1.value = alldataarr[0];
document.getElementById('num').innerHTML = alldataarr[1];

//清空上传域file
document.getElementById('FileName').select();
document.selection.clear();
}

}else{
alert("error");
}
}
}
//打开连接,true表示异步提交
xmlhttp.open("post", "ajax_txt_save.asp", true);
//当方法为post时需要如下设置http头
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
//发送数据
xmlhttp.send("filesname="+escape(filesname));
}

//-->
</script>

</head>
<body>

<div align="center">
<br><font color="#009900" size="3"><b>JS读取文本文件的内容并赋值给textarea控件</b></font><br><br>

<form id="form1" name="form1" action="index.asp?Action=Write" method="post">
<input type="file" id="FileName" name="FileName" size="30">
<input type="button" name="button1" value="导入" onclick="ajaxSubmit();"><br><br>
<textarea id="textarea1" name="textarea1" cols="46" rows="20"></textarea> <br><br>
已导入:<font color="#FF0000"><span id="num">0</span></font> 条记录<br><br><br>
<input type="submit" name="Submit1" value="提交导入的内容到数据库">
</form>
</div>

</body>
</html>

第二个文件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%能使用,且不受浏览器的安全级别限制,祝你好运!
博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼word文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式