- - PR -
JavaScriptからActionを起こしたい。
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-07 15:00
あけましておめでとうございます。
返答ありがとうございます。大変参考になります。 悪戦苦闘の末、だいぶ思った通りの物ができるようになってきました。 みなさまのアドバイスのお陰ですm(_ _)m。 undefineダイアログ表示の件ですが、 msxml4をダウンロードしたら表示されなくなりました。 古いmsxmlで表示されていたみたいです。 話が変わるのですが、サーバで作成したファイルを クライアントに自動的に任意の場所にダウンロードしたいのですが 任意の場所(クライアントのパス)指定する方法が分かりません。 ご教授下さい。宜しくお願いします。 |
|
投稿日時: 2005-01-17 20:21
昨年のトピックですが、修正改造となりました。
(ユーザ側でファイルをリンクしてもらいダウンロードしてもらう形にした のですが、お客さんから自動化できないかなっていう話があったので) サーバで作成したファイルをクライアント側に自動ダウンロードする JavaScriptを検討&作成しています。 下記ソースを作成したのですが、2つ問題が発生して 行き詰まっています。 // Start win = windows.open(action, ...., ....);// 子画面を呼び出して、サーバで作成した // ファイルをダウンロード(inline)。 // 子画面には、データが表示されます。 var url = "http://localhost:8080/xxxx/xxxx.do?file=sample.dat" // 子画面のURL // sample.dat はサーバで作成したファイル var objHttp = new ActiveXObject("Microsoft.XMLHTTP") ; objHttp.Open("GET", url, false, false) ; objHttp.Send() ; var wrtfile = "C:\\FOLDPATH\\" + filename ; var crtFile = fso.CreateTextFile(wrtfile, true, false) ; crtFile.WriteLine(objHttp.responseText) ; // End 問題1 objHttp.responseText のデータが文字化けしてしまう。 文字化けしない方法は何かあるのでしょうか? 文字化けのしくみが理解できていないので。 (どこでコードが変換されているのかなど?) 子画面に表示されているデータは文字化けしていません。 問題2 最後のファイル書き込み(WriteLine)がエラーになってしまう。 responseTextの型とWriteLine()のパラメタの型が一致していない からだと思うのですが、キャストの方法が分かりません。 (string)responseTextなど、いろいろやったのですが…。 ご教示お願いします。 |
|
投稿日時: 2005-01-18 11:43
自己解決しました。
かなり基本的な事でした。m(_ _)m。 var xdoc = new ActiveXObject("MSXML2.DOMDocument"); xdoc.async = false; xdoc.load(inputfile); xdoc.save(wrtfile); win.close() ; で、OK牧場でした。 objHttp.responseTextの文字化けは、responseText自体が、UTF−8のみしか 格納できないからみたいでした。 ファイル書き込みが拒否されるのは、多分、バイナリデータを アスキーモードで書き込もうとしたからかと思われます。 とんでもない所に行って、なんとか本道の脇にある砂利道に戻ってきました。 本道にできるだけ近くにいければいいなって思っています。 お騒がせしました。 |