implemented file download service (undone)
This commit is contained in:
@@ -23,7 +23,7 @@ import java.util.List;
|
|||||||
* Revised: Date: 2019-06-08
|
* Revised: Date: 2019-06-08
|
||||||
* Revision: Revision: 1.0
|
* Revision: Revision: 1.0
|
||||||
* <p>
|
* <p>
|
||||||
* Description: IRext Indexing Webservice
|
* Description: IRext indexing service
|
||||||
* <p>
|
* <p>
|
||||||
* Revision log:
|
* Revision log:
|
||||||
* 2019-06-08: created by strawmanbobi
|
* 2019-06-08: created by strawmanbobi
|
||||||
|
|||||||
@@ -6,10 +6,7 @@ import net.irext.server.service.cache.IIRBinaryRepository;
|
|||||||
import net.irext.server.service.model.ACParameters;
|
import net.irext.server.service.model.ACParameters;
|
||||||
import net.irext.server.service.model.DecodeSession;
|
import net.irext.server.service.model.DecodeSession;
|
||||||
import net.irext.server.service.model.RemoteIndex;
|
import net.irext.server.service.model.RemoteIndex;
|
||||||
import net.irext.server.service.request.CloseRequest;
|
import net.irext.server.service.request.*;
|
||||||
import net.irext.server.service.request.DecodeRequest;
|
|
||||||
import net.irext.server.service.request.GetACParametersRequest;
|
|
||||||
import net.irext.server.service.request.OpenRequest;
|
|
||||||
import net.irext.server.service.response.*;
|
import net.irext.server.service.response.*;
|
||||||
import net.irext.server.service.utils.LoggerUtil;
|
import net.irext.server.service.utils.LoggerUtil;
|
||||||
import net.irext.server.service.utils.MD5Util;
|
import net.irext.server.service.utils.MD5Util;
|
||||||
@@ -18,6 +15,8 @@ import net.irext.server.service.restapi.base.AbstractBaseService;
|
|||||||
import net.irext.server.sdk.bean.ACStatus;
|
import net.irext.server.sdk.bean.ACStatus;
|
||||||
import net.irext.server.sdk.utils.Constants;
|
import net.irext.server.sdk.utils.Constants;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.core.io.InputStreamResource;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -26,26 +25,33 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.ws.rs.core.HttpHeaders;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
|
||||||
|
import static org.apache.commons.io.filefilter.DirectoryFileFilter.DIRECTORY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filename: IRDecodeService.java
|
* Filename: IRDecodeService.java
|
||||||
* Revised: Date: 2018-12-16
|
* Revised: Date: 2018-12-16
|
||||||
* Revision: Revision: 1.0
|
* Revision: Revision: 1.0
|
||||||
* <p>
|
* <p>
|
||||||
* Description: IRext decode service
|
* Description: IRext operation service
|
||||||
* <p>
|
* <p>
|
||||||
* Revision log:
|
* Revision log:
|
||||||
* 2018-12-16: created by strawmanbobi
|
* 2018-12-16: created by strawmanbobi
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/irext-server/decode")
|
@RequestMapping("/irext-server/operation")
|
||||||
@Service("IRDecodeService")
|
@Service("IRDecodeService")
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class IRDecodeService extends AbstractBaseService {
|
public class IROperationService extends AbstractBaseService {
|
||||||
|
|
||||||
private static final String TAG = IRDecodeService.class.getSimpleName();
|
private static final String TAG = IROperationService.class.getSimpleName();
|
||||||
|
|
||||||
private ServletContext context;
|
private ServletContext context;
|
||||||
|
|
||||||
@@ -75,6 +81,23 @@ public class IRDecodeService extends AbstractBaseService {
|
|||||||
this.decodeSessionRepository = decodeSessionRepository;
|
this.decodeSessionRepository = decodeSessionRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/download_bin")
|
||||||
|
public ResponseEntity<InputStreamResource> downloadBin(
|
||||||
|
@RequestBody DownloadBinaryRequest downloadBinaryRequest) throws IOException {
|
||||||
|
|
||||||
|
FileInputStream inputStream = indexingLogic.getDownloadStream(downloadBinaryRequest.getIndexId());
|
||||||
|
InputStreamResource resource = new InputStreamResource(inputStream);
|
||||||
|
String fileName = "";
|
||||||
|
int fileLength = 0;
|
||||||
|
|
||||||
|
return ResponseEntity.ok()
|
||||||
|
// Content-Disposition
|
||||||
|
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + fileName)
|
||||||
|
// Contet-Length
|
||||||
|
.contentLength(fileLength)
|
||||||
|
.body(resource);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/open")
|
@PostMapping("/open")
|
||||||
public StringResponse irOpen(HttpServletRequest request, @RequestBody OpenRequest openRequest) {
|
public StringResponse irOpen(HttpServletRequest request, @RequestBody OpenRequest openRequest) {
|
||||||
try {
|
try {
|
||||||
Reference in New Issue
Block a user