|
|
@ -22,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile; |
|
|
|
import java.io.ByteArrayInputStream; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.UnsupportedEncodingException; |
|
|
|
import java.net.URLConnection; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
import java.sql.Timestamp; |
|
|
@ -88,6 +89,7 @@ public class FileController { |
|
|
|
dbFile.setTimestamp(timestamp); |
|
|
|
dbFile.setId(uuid); |
|
|
|
dbFile.setTags(tags); |
|
|
|
dbFile.setDeleted(false); |
|
|
|
fileRepository.save(dbFile); |
|
|
|
return ResponseEntity.ok(uuid.toString()); |
|
|
|
} |
|
|
@ -97,12 +99,17 @@ public class FileController { |
|
|
|
DbFile dbFile = fileRepository.findById(UUID.fromString(uuid)).orElse(null); |
|
|
|
if (dbFile == null) return ResponseEntity.notFound().build(); |
|
|
|
|
|
|
|
MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM; |
|
|
|
try { |
|
|
|
mediaType = MediaType.valueOf(URLConnection.guessContentTypeFromName(dbFile.getFilename())); |
|
|
|
} catch (Exception ignored) {} |
|
|
|
|
|
|
|
HttpHeaders headers = new HttpHeaders(); |
|
|
|
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + encodeFileName(dbFile.getFilename())); |
|
|
|
return ResponseEntity.ok() |
|
|
|
.headers(headers) |
|
|
|
.contentLength(dbFile.getFilesize()) |
|
|
|
.contentType(MediaType.APPLICATION_OCTET_STREAM) |
|
|
|
.contentType(mediaType) |
|
|
|
.body(new InputStreamResource(new ByteArrayInputStream(dbFile.getData()))); |
|
|
|
} |
|
|
|
|
|
|
@ -111,6 +118,9 @@ public class FileController { |
|
|
|
@CheckPermitionFlag(flag = "z") |
|
|
|
@CollectStatistic(stage = CollectStages.COMBINED) |
|
|
|
public Page<DbFile> getFiles(Pageable pageable, @RequestBody(required = false) SearchFilter searchFilter) { |
|
|
|
if (searchFilter == null) |
|
|
|
searchFilter = new SearchFilter(); |
|
|
|
|
|
|
|
String steam64_ids = searchFilter.getAccountsSteam64(profileService); |
|
|
|
|
|
|
|
return filePSRepository.getFiles(pageable, |
|
|
|