Skip to content

Commit 97b34e9

Browse files
cmdcolinclaude
andcommitted
Fix file upload using temp files instead of relative paths
All file upload handlers used new File(originalFilename) which creates a relative path file that fails in the Grails 7 working directory. Use File.createTempFile() to create proper temp files for uploads. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7202af9 commit 97b34e9

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

grails-app/controllers/org/bbop/apollo/OrganismController.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ class OrganismController {
285285

286286
if (organismDataFile) {
287287
log.debug "Successfully created directory ${directory.absolutePath}"
288-
File archiveFile = new File(organismDataFile.getOriginalFilename())
288+
File archiveFile = File.createTempFile("organism-upload-", "-" + organismDataFile.getOriginalFilename())
289289
organismDataFile.transferTo(archiveFile)
290290
try {
291291
fileService.decompress(archiveFile, directory.absolutePath, null, false)
@@ -597,7 +597,7 @@ class OrganismController {
597597
// add track config to trackList.json
598598
tracksArray.add(trackConfigObject)
599599
// unpack track data into organism directory
600-
File archiveFile = new File(trackDataFile.getOriginalFilename())
600+
File archiveFile = File.createTempFile("track-upload-", "-" + trackDataFile.getOriginalFilename())
601601
trackDataFile.transferTo(archiveFile)
602602
try {
603603
String urlTemplate = trackConfigObject.get(FeatureStringEnum.URL_TEMPLATE.value)
@@ -711,7 +711,7 @@ class OrganismController {
711711
// add track config to extendedTrackList.json
712712
extendedTracksArray.add(trackConfigObject)
713713
// unpack track data into organism directory
714-
File archiveFile = new File(trackDataFile.getOriginalFilename())
714+
File archiveFile = File.createTempFile("track-upload-", "-" + trackDataFile.getOriginalFilename())
715715
trackDataFile.transferTo(archiveFile)
716716
try {
717717
String urlTemplate = trackConfigObject.get(FeatureStringEnum.URL_TEMPLATE.value)
@@ -1268,7 +1268,7 @@ class OrganismController {
12681268
}
12691269
String foundBlatdb = null
12701270
if (organismDataFile) {
1271-
File archiveFile = new File(organismDataFile.getOriginalFilename())
1271+
File archiveFile = File.createTempFile("organism-upload-", "-" + organismDataFile.getOriginalFilename())
12721272
organismDataFile.transferTo(archiveFile)
12731273
File organismDirectory = new File(organism.directory)
12741274
assert organismDirectory.deleteDir()
@@ -1535,7 +1535,7 @@ class OrganismController {
15351535
}
15361536

15371537
private def decompressFileToRawDirectory(MultipartFile trackFile, String path, JSONObject trackConfigObject, String newFileName) {
1538-
File archiveFile = new File(trackFile.getOriginalFilename())
1538+
File archiveFile = File.createTempFile("track-upload-", "-" + trackFile.getOriginalFilename())
15391539
trackFile.transferTo(archiveFile)
15401540
List<String> fileNames = fileService.decompress(archiveFile, path, trackConfigObject.get(FeatureStringEnum.LABEL.value), false)
15411541
File inputFile = new File(fileNames.get(0))

0 commit comments

Comments
 (0)