假设 前端得到的路径是 图片在服务器上的绝对路径 CFnbTempApng 如何在前端显示。我想通过java 将图片暴露出来
您可以使用Java中的File和InputStream类来读取该图像,并使用Base64编码将其转换为字符串,然后将其作为响应发送回前端:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Base64;
public class ImageHandler {
public static String getImageAsBase64(String imagePath) throws IOException {
File imageFile = new File(imagePath);
InputStream inputStream = new FileInputStream(imageFile);
byte[] bytes = inputStream.readAllBytes();
String base64Image = Base64.getEncoder().encodeToString(bytes);
return base64Image;
}
}
在您的Servlet中,您可以使用以下代码来响应前端请求:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ImageServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String imagePath = "C:/FnbTemp/A.png"; // 从请求参数中获取图像路径
String base64Image = ImageHandler.getImageAsBase64(imagePath);
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(base64Image);
}
}
在前端,您可以使用以下代码来显示该图像:
<img src="imageServlet?imagePath=C%3A%2FFnbTemp%2FA.png" />
请注意,您需要将图像路径作为查询参数传递给Servlet。在上面的示例中,查询参数的名称为“imagePath”,值为“C:/FnbTemp/A.png”,并使用URL编码传递。在Servlet中,您可以使用以下代码来检索查询参数:
String imagePath = request.getParameter("imagePath");
``
原文地址: https://www.cveoy.top/t/topic/clog 著作权归作者所有。请勿转载和采集!