Pessoal tenho um app que faz upload de arquivos para uma pasta no servidor forea da aplicacao ex. /home/arq/ aqui fica todos os arquivos que sofreram upload, agora quero fazer download desses aquivos clicando neles, como estão fora do app, como que faço para fazer o download?
Como fazer download de um arquivo fora do app?
5 Respostas
A maneira mais fácil é fazer um mapeamento do diretório para q vc possa fazer o download direto sem a aplicação.
Não! tem que ser pela aplicação mesmo, pois ele tem acesso externo fora da minha rede, os usuario fazem uploads de arquivos e depois fazem download da aquele arquivo.
A
Você pode fazer stream.
Leia o arquivo com um inputstream e depois libere para download os bytes dele.
Tem um exemplo de como faço isto?
A
Converter um file em byte[] peguei do javaalmanac.com :
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
// Get the size of the file
long length = file.length();
// You cannot create an array using a long type.
// It needs to be an int type.
// Before converting to an int type, check
// to ensure that file is not larger than Integer.MAX_VALUE.
if (length > Integer.MAX_VALUE) {
// File is too large
}
// Create the byte array to hold the data
byte[] bytes = new byte[(int)length];
// Read in the bytes
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// Ensure all the bytes have been read in
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
// Close the input stream and return bytes
is.close();
return bytes;
}
a visualização depende do framework mas se for com servlets mesmo é só mudar o content type setar os bytes e pronto.
Criado 18 de abril de 2006
Ultima resposta 18 de abr. de 2006
Respostas 5
Participantes 3
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Desmistificando WebAssembly: Alta performance,... Por Raphael Amorim — Casa do Codigo