teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

内容修正

2020/10/14 13:23

投稿

yochun02
yochun02

スコア76

title CHANGED
File without changes
body CHANGED
@@ -12,13 +12,13 @@
12
12
 
13
13
  def test = Action { implicit request =>
14
14
 
15
- val file = SingletonTemporaryFileCreator.create(prefix = "hoge", suffix = ".txt")
15
+ val file = SingletonTemporaryFileCreator.create(prefix = "hoge", suffix = ".tmp")
16
16
  println(file.path)
17
17
  ...
18
18
  ..
19
19
  }
20
20
  // コンソール
21
- // C:\Users\USB16A~1.ER\AppData\Local\Temp\hoge6983486703041487604.txt
21
+ // C:\Users\USB16A~1.ER\AppData\Local\Temp\hoge6983486703041487604.tmp
22
22
 
23
23
 
24
24
  ```
@@ -30,11 +30,11 @@
30
30
  ...
31
31
  ..
32
32
 
33
- val file = File.createTempFile(prefix = "hoge", suffix = ".txt", "/test/txt")
33
+ val file = File.createTempFile(prefix = "hoge", "/test/txt")
34
34
  println(file.path)
35
35
 
36
36
  // コンソール
37
- // test\txt\hoge6983486703041487604.txt
37
+ // test\txt\hoge6983486703041487604.tmp
38
38
 
39
39
  ```
40
40
 

3

修正

2020/10/14 13:23

投稿

yochun02
yochun02

スコア76

title CHANGED
File without changes
body CHANGED
@@ -37,19 +37,8 @@
37
37
  // test\txt\hoge6983486703041487604.txt
38
38
 
39
39
  ```
40
- ```
41
- // application.conf
42
- play.api.libs.Files.temporaryFile {
43
- reaper {
44
- enabled = true
45
- initialDelay = "1 minitues"
46
- interval = "30 seconds"
47
- olderThan = "1 minutes"
48
- }
49
- }
50
- ```
51
- (とはいえ、この設定しててもtemporaryFile版で先ほどのパスに作られたtempファイルは待てども消えてくれないという。。。)
52
40
 
41
+
53
42
  ### 環境
54
43
  play: 2.8
55
44
  sbt: 1.1.4

2

内容修正

2020/10/14 13:21

投稿

yochun02
yochun02

スコア76

title CHANGED
File without changes
body CHANGED
@@ -53,4 +53,5 @@
53
53
  ### 環境
54
54
  play: 2.8
55
55
  sbt: 1.1.4
56
- scala: 2.13.2
56
+ scala: 2.13.2
57
+ jdk: 11

1

補足

2020/10/14 07:27

投稿

yochun02
yochun02

スコア76

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,8 @@
1
- playframework×scalaを使って、ファイルを取得するAPIを作成したいのですが、中間ファイルとしての一時ファイルをplayの動いているディレクトリ内に指定したいのですが方法が分かりません。
1
+ playframework×scalaを使って、ファイルを取得するAPIを作成したいのですが、中間ファイルとしての一時ファイルをplayの動いているディレクトリ内に指定したいのですが方法が分かりません。ネットの情報も古いのがたくさん(play2.0とかそこら)あって参考になりませんでした。
2
-
2
+ どなたか解決方法が分かりますでしょうか。
3
+ ### 現状のコード
3
4
  ```scala
5
+ // play.api.libs.Files.TemporaryFile版
4
6
  //controller
5
7
 
6
8
  import play.api.libs.Files.TemporaryFile
@@ -20,8 +22,10 @@
20
22
 
21
23
 
22
24
  ```
23
- java.io.FileのcreateTempFileを使えば、ディレクトリ指定も可能なのですが、これだと自動的に消す設定(application.conf)ができません
25
+ java.io.FileのcreateTempFileを使えば、ディレクトリ指定も可能なのですが、これだと自動的に消す設定(application.conf)が使えない
24
- ```
26
+ ```scala
27
+ // java.io.File版
28
+ // controller
25
29
  import java.io.File
26
30
  ...
27
31
  ..
@@ -44,6 +48,9 @@
44
48
  }
45
49
  }
46
50
  ```
47
- ただしこの設定も待ても消えてくれないという。。。
51
+ (とはいえ、この設定しててtemporaryFile版で先ほどのパスに作られたtempファイルは待ても消えてくれないという。。。
48
52
 
53
+ ### 環境
54
+ play: 2.8
55
+ sbt: 1.1.4
49
- どなたか解決方法が分かりますでしょうか。
56
+ scala: 2.13.2