天天看點

[問]如何自定義“另存為”對話框的儲存檔案名稱?

背景:某個伺服器會定時自動生成某類檔案,量比較大!同時生成某個網站入口供使用者下載下傳,而生成的頁面呢,大概像下面這樣子:

<html>
<head>...</head>
<body>
<a href="201209131234.elt">seasons1987.elt</a>
</body>
</html>      

這裡呢,使用者點選這個超連結會彈出一個儲存的對話框,而裡面會有一個預設的儲存名稱“201209131234.elt”,但,使用者想要看到的儲存名稱是“seasons1987.elt”呀!無奈,隻能上百度了,搜了半天,隻有一個殘次品,至少讓我給搗弄了一半出來了。如下:

<script> 
  $(function(){
  $("a").click(function(){
   var val = $(this).text();
   SaveAs(val);
  });
  });
     function SaveAs(str) {
         var fd = new ActiveXObject("MSComDlg.CommonDialog");
         fd.Filter = "All Files (*.*)";
         fd.FilterIndex = 2;
         //fd.Filter = "上傳檔案 (*.jpg;*.jpeg;*.gif)|*.jpg;*.jpeg;*.gif"; //fd.Filter = "Microsoft Office Excel(*.xls)|*.xsl;|Microsoft Office Word(*.doc)|*.doc;";篩選檔案類型
          // 必須設定MaxFileSize. 否則出錯
          fd.MaxFileSize = 128;
         fd.FileName = str;
         // 顯示對話框
          fd.ShowSave();
     }
 </script>      

其中,紅色标出來的那一句是我自己加上去的,目的是用來設定預設儲存名稱的!但,點了确定以後的下載下傳操作,沒有!!原本想用 FSO的操作,把檔案從FTP服務拷貝到本地位址的,但又不太會,可有高人指點?