使用javascript将文本文件发送到服务器

时间:2011-01-11 11:19:31

标签: javascript

我需要将一个文本文件发送到服务器并保存。我怎么能用javascript ???

4 个答案:

答案 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>