Resuelva el problema de que el proyecto springboot está empaquetado e implementado en el sistema Linux, y no se pueden encontrar los recursos de descarga / recursos estáticos / estáticos

Resuelva el problema de que el proyecto springboot está empaquetado e implementado en el sistema Linux, y no se pueden encontrar los recursos de descarga / recursos estáticos / estáticos

Use spingboot para desarrollar, agregue un archivo de configuración al directorio raíz del proyecto y obtenga la ruta del archivo a través de this.getClass (). GetResource ("") en el IDE sin ningún problema.
Después de ejecutarlo como jar, el archivo no se puede leer como resultado. Puede ver el archivo en la ruta de clases correspondiente en el archivo jar y asegurarse de que esté empaquetado.

En este momento, a través del método this.getClass (). GetResource (""); no se puede obtener el archivo correctamente.

Utilice InputStream inputStream = this.getClass (). GetResourceAsStream (""); para leer correctamente.

Lencería

@ApiOperation(value = "下载数据模板", notes = "下载数据模板")
	@RequestMapping(value = "/downloadTemplates", method = RequestMethod.POST)
	public void downloadTemplates(HttpServletResponse response) {
    
    

		try {
    
    
			String path = "/static/template.xls";
			String fileName = path.substring(path.lastIndexOf("/") + 1);
			/** 读取服务器端模板文件 */
			InputStream inputStream = this.getClass().getResourceAsStream(path);
			
			/** 将文件名称进行编码 */
			response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes()));
			response.setContentType("content-type:octet-stream");

			/** 将流中内容写出去 . */
			OutputStream outputStream = response.getOutputStream();
			byte[] buffer = new byte[1024];
			int len;
			while ((len = inputStream.read(buffer)) != -1) {
    
    
				outputStream.write(buffer, 0, len);
			}
			inputStream.close();
			outputStream.close();
		} catch (Exception e) {
    
    
			e.printStackTrace();
		}
		return;
	}

Supongo que te gusta

Origin blog.csdn.net/ampsycho/article/details/103272453
Recomendado
Clasificación