Allora, vi pongo questo mio quesito:
Io ho il link ad un documento pdf, ed adesso vorrei scaricarlo, inserendolo all'interno di una determinata directory (tipo: C:\\ temporaneo). che andrò a cancellare al termine dell'esecuzione del programma. Quello che segue è il mio codice per scaricare il pdf, ma non ho idee su come poterlo obbligare a scaricare in una determinata directory. So che esiste mkdir() o mkdirs() ma queste vengono appplicate ad un file![]()
codice:/** * Effettua il download del documento eseguendo una chiamata di tipo Retrieve Document Set al XDS Repository * @param documentUniqueId il documentUniqueId * @param repositoryUniqueId il repositoryUniqueId * @param httpResponse la response http * @throws Exception */ @RequestMapping(value = DOWNLOAD_URL, method = RequestMethod.GET) public void download(@RequestParam(PARAM_DOCUMENT_UNIQUE_ID) String documentUniqueId, @RequestParam(PARAM_REPOSITORY_UNIQUE_ID) String repositoryUniqueId, HttpServletResponse httpResponse) throws Exception { this.log.trace("chiamato download()"); RetrieveDocumentSetRequestType rdsRequest = new RetrieveDocumentSetRequestType(); DocumentRequest docReq = new DocumentRequest(); docReq.setRepositoryUniqueId(repositoryUniqueId); docReq.setDocumentUniqueId(documentUniqueId); rdsRequest.getDocumentRequest().add(docReq); RetrieveDocumentSetResponseType rdsResponse = this.repositoryWS.documentRepositoryRetrieveDocumentSet(rdsRequest); if((MetadataSupport.response_status_type_namespace + "Success").equals(rdsResponse.getRegistryResponse().getStatus())) { DocumentResponse docRes = rdsResponse.getDocumentResponse().get(0); String extension=".pdf"; /*if(docRes.getMimeType().trim().equals("application/pdf")) extension = ".pdf"; else extension = ".rtf"; // in questo caso lo apriamo .rtf, ma vanno bene anche gli altri formati eg. txt */ httpResponse.setContentLength(docRes.getDocument().length); httpResponse.setContentType("application/pdf"); httpResponse.setHeader("Content-Disposition", "attachment; filename=" + docRes.getDocumentUniqueId() + extension); ServletOutputStream servletOS = httpResponse.getOutputStream(); servletOS.write(docRes.getDocument(), 0, docRes.getDocument().length); servletOS.flush(); servletOS.close(); }//if else { this.log.error("Il repository non è riuscito a restituire il documento con identificativo: " + documentUniqueId); RegistryErrorList rel = rdsResponse.getRegistryResponse().getRegistryErrorList(); if(rel != null) { for(RegistryError error: rel.getRegistryError()) { this.log.error(error.getValue()); }//for }//if }//else }// download()
![]()
Qualsiasi idea è ben accetta!![]()
![]()

Rispondi quotando