の終了後にそれらを削除する:1)ブラウザにlocalhost:3000/#/files
を入力開くことができる一時的なテキストファイルを作成しますby localhost:3000/#/{FILE_ID}.txt
; 2)ブラウザを閉じると、一時ファイルが削除されます。は正しい場所に一時ファイルを生成して、私はMEANスタックの私のサーバーに機能を追加したいセッション
このため、私はnode-tmpを使用しようと、いくつかのコード書きました:バックエンドでは
app.config(['$stateProvider', function ($stateProvider) {
$stateProvider
.state('files', {
url: '/files',
template: "Hello World",
controller: 'FilesCtrl'
})
}]);
app.controller('FilesCtrl', ['$http', function ($http) {
$http.post('/createFiles', null, null);
}])
:フロントエンドで
をとして
router.post('/createFiles', function (req, res, next) {
var tmp = require('tmp');
var fs = require('fs');
tmp.file({ prefix: 'projectA-', postfix: '.txt' }, function (err, path, fd) {
if (err) throw err;
console.log("File: ", path);
console.log("Filedescriptor: ", fd);
fs.writeFileSync(path, "Hello world!")
});
});
をその結果は、ブラウザでlocalhost:3000/#/files
を入力すると、ファイル/var/folders/fn/0rmvqqbs4k76lg5g6b7kll100000gn/T/projectA-40926BSynm5PKdMmW.txt
を作成していますが、ブラウザのタブを閉じると、このファイルは削除されません。
私は右のライブラリを使用していますか?もしそうなら、どのようにして1)tmpファイルをlocalhost:3000/#/{FILE_ID}.txt
に置くことができるのか誰にでも分かります。 2)セッションの終了後に系統的に削除しますか?
申し訳ありませんが、私は私が作ったと思いますOP:localhost:3000 /#/ {FILE_ID} .txt'を開くことはそれほど重要ではないはずです。私はこれらのファイルを外部から開くことができるように、 "the_folder_of_my_site \ tmp_txt \"というサブフォルダに配置したいだけです。とにかく、これを無視してください... – SoftTimur
'node-tmp'は正しいライブラリですか?切断後にファイルの生成と削除の両方を管理する既存のライブラリはありませんか? – SoftTimur
@SoftTimur - ドキュメント 'node-temp'を見てもわかるように、一意の名前のテンポラリファイルを作成するための完全な細かい機能を提供しますが、特定のクライアントが接続されなくなったときにクリーンアップする機能はありません。クリーンアップメソッドは、node.jsプロセスが終了したときに関連するように見えます。特定のクライアントの接続が切断されたときにクリーンアップを追加する方法については、私の回答を参照してください。 – jfriend00