我想在一个网页里实现文件的创建和内容保存功能。要求能够有类似于input type='file'那样的弹出提示框,允许用户自定义要创建的文件的目录和文件名称。试过如下的形式:
<form> 
<input type="file"  name="confFile" size="30" onBlur="top.saveFile(this)" id="confFile" /> <br> 
</form>
但是发现好像只能指定已经存在的某个文件,却不允许提供新文件的名称。又试过document.execCommand("SaveAs"), 发现它是将当前的网页内容保存到文件中。可是怎么实现保存自定义的内容到文件中呢?还有,document.execCommand("SaveAs")弹出的对话框的标题是“Save HTML Document”,这样子的话不论从标题还是功能来说都不符合我的要求啊。请大家指教哦
 

解决方案 »

  1.   

    另外,我发现如果用document.execCommand('SaveAs', true, 'config.txt')的话,会将html里的每个属性的文本保存下来,包括head,title和所有的会显示出来的内容(比如文本框中的内容,checkbox的标题等)。如何才能只保存我需要的内容呢,比如说我只想保存html里某个文本框里的内容?请指教哦
      

  2.   

    <input type="file"  name="confFile" size="30" onBlur="top.saveFile(this)" id="confFile" runat="server"/>HttpPostFile hpf=confFile.PostFile;
    .....
    SaveAs......
      

  3.   

    不好意思,bhtfg538,不是很明白你的意思,能再解释一下么?
      

  4.   

    document.execCommand("SaveAs")只能在客户端保存当前网页,而且只能是保存为html或者text。这是安策略限制了的吧。如果你要在服务器端保存文件,可以用Scripting.FileSystemObject,或者ADO.Stream.客户端一般没有这样的权限,会有安全提示。
      

  5.   

    还有如果只支持ie浏览器可以考虑使用behavior:url(#default#userData):可保存数据大小如下:
    Security Zone Document Limit (KB) Domain Limit (KB) 
    Local Machine 128 1024 
    Intranet 512 10240 
    Trusted Sites 128 1024 
    Internet 128 1024 
    Restricted 64 640 
      

  6.   

    不好意思,本人其实是在用common launchpad里设计某个软件安装包的GUI。
    launchpad利用html和javascript来设计GUI引导页面,并且根据用户在GUI中的具体设置和选择来调用后台程序来实现具体的安装,下载和更新等功能。所以GUI中的javascript和html根本不会牵扯到客户端和服务器端的问题。另外,该安装包要求支持windows(IE)平台和linux(Mizilla)平台。
    在linux下,该保存功能已经实现:利用Mozilla的"@mozilla.org/network/file-output-stream" 组件,可以弹出保存文件的对话框。
    但是在windows下,还没有找到想mazilla提供的这样的组件,目前只能用document.execCommand('SaveAs', true, 'config.txt'),利用它来弹出保存对话框,但是这个对话框的标题却是"保存HTML",不太复合客户的要求。
    大家还有没有好的实现方法呢?