我需要将一个文本文件发送到服务器并保存。我怎么能用javascript ???
答案 0 :(得分:2)
围绕此问题存在各种各样的安全问题。您是否乐意访问将文件从您的计算机上传到服务器的网站?
对于通用网站,用户可能会将其权限设置为拒绝此类访问,但这是不可能的。
如果是偶然的,您希望为您可以控制其用户的安全设置的应用程序执行此操作,并且您可以保证其Windows和IE,那么可以通过读取文件并传递详细信息通过发布到服务器。请参阅以下链接:http://www.javascripter.net/faq/reading2.htm
然而,当你离开IE或Windows时,你会挣扎。
答案 1 :(得分:1)
Javascript是一种前端语言。您可以使用PHP或任何服务器端语言。
答案 2 :(得分:1)
当然使用ajax。
在服务器,PHP或ASP上有一个文件 - 取决于你的互联网服务器。 此文件将接受文本文件(数据和名称),并且还应检查大小以及此文件是否已存在,如果一切正常 - 它将保存它,并返回一个字符串“OK”
在客户端,javascript方面,只需使用ajax或HTTPREQUST对象将信息发送到服务器 - 这里有大量的文档。如果你收到“OK”的回复,那么你知道它发送得很好。 更好的是:不要使用HTTPREQUEST,而是执行dynmaic脚本标记插入 - 您要附加的脚本的source属性是服务器上的文件,如:
var a = document.createElement('script');
a.type = 'text/javascript';
a.src = "http://server/serverFile.PHP?filename=XXX&data=LONG STRING OF DATA REPRESTING THE DATA TO BE SAVED PROBABLY LESS THAN 2K IN SIZE AND ALSO YOU SHOULD ESCAPE OR ATLEAST URIENCODE IT";
document.body.appendChild(a);
并在服务器文件上,serverFILE.PHP:
<?php
// some code to save the request variable [data].
// if all is ok:
alert("ok")
// or:
result = "ok"
?>
得到它?
注意:文件大小可能会小于2K。
答案 3 :(得分:1)
你可以创建一个Ajax equiv函数,创建一个宽度和高度= 0px的iframe,然后将其作为带有文件上传输入的表单的目标,并使用PHP动作处理它
<form action="upload.php" target="target" method="post"
name="uploadform" id="uploadform" enctype="multipart/form-data">
<label for="input_file_upload">Upload:</label>
<input onchange="document.uploadform.submit();" size="80"
type="file" name="file_upload[]" id="file_upload"
multiple="multiple" />
<input type="hidden" name="fileUpload" value="upload" />
<input type="button" value="Upload" />
</form>
<iframe id="target" name="target" style="width: 0px; height: 0px;">
</iframe>