¿Cómo cargar archivos en la ruta especificada en el servidor en Java?
La función de transferir archivos del local al servidor es en realidad resolver el problema de que los navegadores actuales no admiten la obtención de la ruta completa de los archivos locales. Como último recurso, pensé en cargarlo en un directorio fijo en el servidor, para facilitar la obtención de archivos por parte del proyecto y luego permitir que el programa admita la importación de datos por lotes EXCEL.
El código para cargar archivos en la ruta especificada en el servidor en Java:
Ingrese en la interfaz front-end:
Obtener el datos de la recepción en la acción y Guardar
/**
* archivo de importación de Excel
* @return
* @ lanza IOException
*/
@RequestMapping("/usermanager/excelImport.do")
pública String excelImport(
String filePath ,
MultipartFile ?excelFile, solicitud HttpServletRequest) arroja IOException{
log.info("<<<<<
if (excelFile != null){
String filename=excelFile.getOriginalFilename();
String a=request.getRealPath("u /cms/www/201509");
SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),nombre de archivo) ;//La ruta guardada en el servidor
}
log.info("<<<<<
return "";
}
/**
* Convertir archivo multiparte para archivarlo y guardarlo en un archivo en el servidor地
*/
public void SaveFileFromInputStream(flujo de flujo de entrada, ruta de cadena, archivo guardado de cadena) lanza IOException
{ ?
FileOutputStream fs =new FileOutputStream( ruta + "/"+ archivo guardado);
System.out.println("------------ "+ruta + "/"+ archivo guardado);
byte[] buffer =nuevo byte[1024*1024];
int suma de bytes
= 0;
int byteread = 0;
mientras ((byteread=stream.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
fs.flush();
}
fs.close();
stream.close();
}