|
17 | 17 | package org.apache.tika.pipes.fetchers.google; |
18 | 18 |
|
19 | 19 | import java.io.ByteArrayInputStream; |
20 | | -import java.io.File; |
21 | 20 | import java.io.IOException; |
22 | 21 | import java.io.InputStream; |
23 | 22 | import java.nio.file.Files; |
| 23 | +import java.nio.file.Path; |
24 | 24 | import java.util.ArrayList; |
25 | 25 | import java.util.Base64; |
26 | 26 | import java.util.List; |
|
34 | 34 | import com.google.api.services.drive.DriveScopes; |
35 | 35 | import com.google.auth.http.HttpCredentialsAdapter; |
36 | 36 | import com.google.auth.oauth2.GoogleCredentials; |
37 | | -import org.apache.commons.io.FileUtils; |
38 | 37 | import org.slf4j.Logger; |
39 | 38 | import org.slf4j.LoggerFactory; |
40 | 39 |
|
|
44 | 43 | import org.apache.tika.config.Param; |
45 | 44 | import org.apache.tika.exception.TikaConfigException; |
46 | 45 | import org.apache.tika.exception.TikaException; |
| 46 | +import org.apache.tika.io.TemporaryResources; |
47 | 47 | import org.apache.tika.io.TikaInputStream; |
48 | 48 | import org.apache.tika.metadata.Metadata; |
49 | 49 | import org.apache.tika.parser.ParseContext; |
@@ -140,6 +140,7 @@ public void checkInitialization(InitializableProblemHandler initializableProblem |
140 | 140 | public InputStream fetch(String fetchKey, Metadata metadata, ParseContext parseContext) throws TikaException, IOException { |
141 | 141 | int tries = 0; |
142 | 142 | Exception ex = null; |
| 143 | + TemporaryResources tmp = null; |
143 | 144 |
|
144 | 145 | do { |
145 | 146 | long start = System.currentTimeMillis(); |
@@ -169,10 +170,10 @@ public InputStream fetch(String fetchKey, Metadata metadata, ParseContext parseC |
169 | 170 | } |
170 | 171 |
|
171 | 172 | if (spoolToTemp) { |
172 | | - File tempFile = Files.createTempFile("spooled-temp", ".dat").toFile(); |
173 | | - FileUtils.copyInputStreamToFile(is, tempFile); |
174 | | - LOGGER.info("Spooled to temp file {}", tempFile); |
175 | | - return TikaInputStream.get(tempFile.toPath()); |
| 173 | + tmp = new TemporaryResources(); |
| 174 | + Path tmpPath = tmp.createTempFile(fileId + ".dat"); |
| 175 | + Files.copy(is, tmpPath); |
| 176 | + return TikaInputStream.get(tmpPath); |
176 | 177 | } |
177 | 178 | return TikaInputStream.get(is); |
178 | 179 |
|
|
0 commit comments