Example usage for org.springframework.http HttpHeaders setContentDispositionFormData

List of usage examples for org.springframework.http HttpHeaders setContentDispositionFormData

Introduction

In this page you can find the example usage for org.springframework.http HttpHeaders setContentDispositionFormData.

Prototype

public void setContentDispositionFormData(String name, @Nullable String filename) 

Source Link

Document

Set the Content-Disposition header when creating a "multipart/form-data" request.

Usage

From source file:demo.admin.controller.UserController.java

@RequestMapping(value = "/user/downloadData")
@VerifyAuthentication(Trader = true, Admin = true, Operation = true)
public HttpEntity<byte[]> downloadUserData(String status, String securephone,
        @RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
        @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate)
        throws IOException, DocumentException {
    if (securephone != null && securephone != "") {
        securephone = Where.$like$(securephone);
    }//from w  ww  .j  a  va  2s .c o  m
    List<Map<String, Object>> users = userMapper.userExport(status, securephone, startDate, endDate);
    String type = status + "?";
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet(type);
    HSSFRow row = sheet.createRow(0);
    CellStyle cellStyle = wb.createCellStyle();
    cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
    cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);

    sheet.setVerticallyCenter(true);
    sheet.setHorizontallyCenter(true);
    String[] excelHeader = { "??", "???", "??", "", "??" };
    for (int i = 0; i < excelHeader.length; i++) {
        HSSFCell cell = row.createCell(i);
        cell.setCellValue(excelHeader[i]);
        cell.setCellStyle(cellStyle);
        sheet.autoSizeColumn(i, true);
    }
    for (int i = 0; i < users.size(); i++) {
        Map<String, Object> resultSet = users.get(i);
        sheet.autoSizeColumn(i, true);
        row = sheet.createRow(i + 1);
        row.setRowStyle(cellStyle);
        row.createCell(0).setCellValue(i + 1);
        row.createCell(1).setCellValue(String.valueOf(resultSet.get("name")));
        row.createCell(2).setCellValue(String.valueOf(resultSet.get("address")));
        row.createCell(3).setCellValue(String.valueOf(resultSet.get("registertime")));
        row.createCell(4).setCellValue(String.valueOf(resultSet.get("securephone")));

    }
    File file = File.createTempFile(".xls", ".xls");
    OutputStream out = new FileOutputStream(file);
    wb.write(out);
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    headers.setContentDispositionFormData("attachment",
            URLEncoder.encode(type, "UTF-8") + LocalDate.now() + ".xls");
    return new HttpEntity<byte[]>(FileUtils.readFileToByteArray(file), headers);
}

From source file:eionet.webq.service.CDREnvelopeServiceImpl.java

/**
 * Prepares parameters for saveXml remote method.
 *
 * @param file file to be saved./*from  w  w  w.j  a  v  a2  s . com*/
 * @return http entity representing request
 */
HttpEntity<MultiValueMap<String, Object>> prepareXmlSaveRequestParameters(UserFile file) {

    HttpHeaders authorization = getAuthorizationHeader(file);

    HttpHeaders fileHeaders = new HttpHeaders();
    fileHeaders.setContentDispositionFormData("file", file.getName());
    fileHeaders.setContentType(MediaType.TEXT_XML);

    MultiValueMap<String, Object> request = new LinkedMultiValueMap<String, Object>();
    byte[] content = file.getContent();
    if (StringUtils.isNotEmpty(file.getConversionId())) {
        content = conversionService.convert(file, file.getConversionId()).getBody();
    }
    request.add("file", new HttpEntity<byte[]>(content, fileHeaders));
    request.add("file_id", new HttpEntity<String>(file.getName()));
    request.add("title", new HttpEntity<String>(StringUtils.defaultString(file.getTitle())));
    if (file.isApplyRestriction()) {
        request.add("applyRestriction", new HttpEntity<String>("1"));
        request.add("restricted", new HttpEntity<String>(file.isRestricted() ? "1" : "0"));
    }

    return new HttpEntity<MultiValueMap<String, Object>>(request, authorization);
}

From source file:eionet.webq.web.controller.WebQProxyDelegation.java

/**
 * The method proxies multipart POST requests. If the request target is CDR envelope, then USerFile authorization info is used.
 *
 * @param uri              the address to forward the request
 * @param fileId           UserFile id stored in session
 * @param multipartRequest file part in multipart request
 * @return response from remote host//  w w w  . j a  va 2 s .  c o  m
 * @throws URISyntaxException provide URI is incorrect
 * @throws IOException        could not read file from request
 */
@RequestMapping(value = "/restProxyFileUpload", method = RequestMethod.POST, produces = "text/html;charset=utf-8")
@ResponseBody
public String restProxyFileUpload(@RequestParam("uri") String uri, @RequestParam int fileId,
        MultipartHttpServletRequest multipartRequest) throws URISyntaxException, IOException {

    UserFile file = userFileHelper.getUserFile(fileId, multipartRequest);

    if (!multipartRequest.getFileNames().hasNext()) {
        throw new IllegalArgumentException("File not found in multipart request.");
    }
    Map<String, String[]> parameters = multipartRequest.getParameterMap();
    // limit request to one file
    String fileName = multipartRequest.getFileNames().next();
    MultipartFile multipartFile = multipartRequest.getFile(fileName);

    HttpHeaders authorization = new HttpHeaders();
    if (file != null && StringUtils.startsWith(uri, file.getEnvelope())) {
        authorization = envelopeService.getAuthorizationHeader(file);
    }

    HttpHeaders fileHeaders = new HttpHeaders();
    fileHeaders.setContentDispositionFormData("file", multipartFile.getOriginalFilename());
    fileHeaders.setContentType(MediaType.valueOf(multipartFile.getContentType()));

    MultiValueMap<String, Object> request = new LinkedMultiValueMap<String, Object>();
    byte[] content = multipartFile.getBytes();
    request.add("file", new HttpEntity<byte[]>(content, fileHeaders));
    for (Map.Entry<String, String[]> parameter : parameters.entrySet()) {
        if (!parameter.getKey().equals("uri") && !parameter.getKey().equals("fileId")
                && !parameter.getKey().equals("sessionid") && !parameter.getKey().equals("restricted")) {
            request.add(parameter.getKey(),
                    new HttpEntity<String>(StringUtils.defaultString(parameter.getValue()[0])));
        }
    }

    HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<MultiValueMap<String, Object>>(
            request, authorization);

    LOGGER.info("/restProxyFileUpload [POST] uri=" + uri);
    return restTemplate.postForObject(uri, requestEntity, String.class);
}

From source file:gemlite.core.webapp.pages.file.JarFileDownload.java

@RequestMapping(value = "/{fileId}", method = RequestMethod.GET)
public ResponseEntity<byte[]> getJarContent(@PathVariable String fileId) {
    JarFileService service = JpaContext.getService(JarFileService.class);
    byte[] bytes = null;
    try {//from   w w  w.j a v a2s. c om
        long id = NumberUtils.toLong(fileId);
        ReleasedJarFile jarFile = service.getFileById(id);
        LogUtil.getCoreLog().info("FileId:" + fileId + " name:" + jarFile.getFileName());
        bytes = jarFile.getContent();

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        headers.setContentDispositionFormData("attachment", jarFile.getFileName());
        return new ResponseEntity<byte[]>(bytes, headers, HttpStatus.CREATED);
    } catch (Exception e) {
        LogUtil.getCoreLog().error("", e);
    }
    return new ResponseEntity<byte[]>(null, null, HttpStatus.CREATED);
}

From source file:org.hoteia.qalingo.web.mvc.controller.customer.CustomerDocumentController.java

@RequestMapping(value = "/documents/**", method = RequestMethod.GET)
public ResponseEntity<byte[]> customerDetails(final HttpServletRequest request, final Model model)
        throws Exception {
    final RequestData requestData = requestUtil.getRequestData(request);
    final String requestURL = request.getRequestURL().toString();
    final Customer customer = requestData.getCustomer();

    if (customer != null) {
        final List<OrderPurchase> orders = orderPurchaseService
                .findOrdersByCustomerId(customer.getId().toString());
        for (Iterator<OrderPurchase> iterator = orders.iterator(); iterator.hasNext();) {
            OrderPurchase order = (OrderPurchase) iterator.next();
            if (requestURL.contains(order.getPrefixHashFolder())) {
                String filename = null;
                String filePath = null;
                if (requestURL.contains(OrderDocumentType.ORDER_CONFIRMATION.getPropertyKey())) {
                    filename = documentService.buildOrderConfirmationFileName(order);
                    filePath = documentService.getOrderConfirmationFilePath(order);

                } else if (requestURL.contains(OrderDocumentType.SHIPPING_CONFIRMATION.getPropertyKey())) {
                    filename = documentService.buildShippingConfirmationFileName(order);
                    filePath = documentService.getShippingConfirmationFilePath(order);

                } else if (requestURL.contains(OrderDocumentType.INVOICE.getPropertyKey())) {
                    filename = documentService.buildInvoiceFileName(order);
                    filePath = documentService.getInvoiceFilePath(order);
                }//from  w w w . jav a 2 s.  com

                if (StringUtils.isNotEmpty(filename) && StringUtils.isNotEmpty(filePath)) {
                    Path path = Paths.get(filePath);
                    byte[] contents = Files.readAllBytes(path);

                    HttpHeaders headers = new HttpHeaders();
                    headers.setContentType(MediaType.parseMediaType("application/pdf"));
                    headers.setContentDispositionFormData(filename, filename);
                    headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
                    ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(contents, headers,
                            HttpStatus.OK);
                    return response;
                }
            }
        }
        logger.warn("This request can't be display, customer " + customer.getEmail()
                + " is logged, but the Hash doesn't matched:" + requestURL);
    } else {
        logger.warn("This request can't be display, customer is not logged:" + requestURL);
    }
    return null;
}

From source file:org.kuali.student.cm.course.service.impl.AbstractExportCourseHelperImpl.java

/**
 * Generates a response for the report.//from w ww. j ava2 s  .  com
 * @return
 */
public ResponseEntity<byte[]> getResponseEntity() {

    byte[] bytes = getBytes();

    HttpHeaders headers = new HttpHeaders();

    /*
     * Setup the header for the response.
     */
    if (isSaveDocument()) {
        // Try to persuade the agent to save the document (in accordance with http://tools.ietf.org/html/rfc2616#section-19.5.1)
        headers.setContentType(MediaType.parseMediaType("application/octet-stream"));
        String contentDisposition = String.format("attachment; filename=%s", getFileName());
        headers.set("Content-Disposition", contentDisposition);
    } else {
        headers.setContentType(MediaType.parseMediaType(getExportFileType().getMimeType()));
        headers.setContentDispositionFormData(getFileName(), getFileName());
    }

    headers.setCacheControl(CurriculumManagementConstants.Export.DOCUMENT_DOWNLOAD_CACHE_CONTROL);

    return new ResponseEntity<byte[]>(bytes, headers, HttpStatus.OK);
}

From source file:org.opentestsystem.authoring.testauth.rest.FileGroupController.java

private static HttpHeaders buildResponseHeaders(final int contentLength, final String filename,
        final String contentType) {
    final HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.clear();//from  ww  w .j  av a 2s.  c  o m
    responseHeaders.add(org.apache.http.HttpHeaders.CONTENT_TYPE, contentType);
    responseHeaders.setPragma("public");
    responseHeaders.setCacheControl("no-store, must-revalidate");
    responseHeaders.setExpires(Long.valueOf("-1"));
    responseHeaders.setContentDispositionFormData("attachment", filename);
    responseHeaders.setContentLength(contentLength);
    responseHeaders.add(org.apache.http.HttpHeaders.ACCEPT_RANGES, "bytes");
    return responseHeaders;
}

From source file:org.opentestsystem.authoring.testauth.rest.PublishingRecordController.java

private HttpHeaders buildResponseHeaders(final int contentLength, final String filename) {
    final HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.clear();/*from w  ww .j  a v  a2 s .  c om*/
    responseHeaders.add(org.apache.http.HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML_VALUE);
    responseHeaders.setPragma("public");
    responseHeaders.setCacheControl("no-store, must-revalidate");
    responseHeaders.setExpires(Long.valueOf("-1"));
    responseHeaders.setContentDispositionFormData("inline", filename);
    responseHeaders.setContentLength(contentLength);
    responseHeaders.add(org.apache.http.HttpHeaders.ACCEPT_RANGES, "bytes");
    return responseHeaders;
}

From source file:org.opentestsystem.authoring.testauth.rest.ScoringRuleController.java

private HttpHeaders buildResponseHeaders(final int contentLength, final String filename) {
    final HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.clear();/*from  w  w  w  . j  a va 2s  .  c  o  m*/
    responseHeaders.add(org.apache.http.HttpHeaders.CONTENT_TYPE,
            com.google.common.net.MediaType.CSV_UTF_8.toString());
    responseHeaders.setPragma("public");
    responseHeaders.setCacheControl("no-store, must-revalidate");
    responseHeaders.setExpires(Long.valueOf("-1"));
    responseHeaders.setContentDispositionFormData("inline", filename);
    responseHeaders.setContentLength(contentLength);
    responseHeaders.add(org.apache.http.HttpHeaders.ACCEPT_RANGES, "bytes");
    return responseHeaders;
}

From source file:org.opentestsystem.authoring.testspecbank.rest.TestSpecificationController.java

private static HttpHeaders buildResponseHeaders(final int contentLength, final String filename) {
    final HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.clear();//from  w ww  .  j  a v  a 2 s  .  co  m
    responseHeaders.add(org.apache.http.HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML_VALUE);
    responseHeaders.setPragma("public");
    responseHeaders.setCacheControl("no-store, must-revalidate");
    responseHeaders.setExpires(Long.valueOf("-1"));
    responseHeaders.setContentDispositionFormData("inline", filename);
    responseHeaders.setContentLength(contentLength);
    responseHeaders.add(org.apache.http.HttpHeaders.ACCEPT_RANGES, "bytes");
    return responseHeaders;
}