Html 在jsp中显示图像

Html 在jsp中显示图像,html,jsp,Html,Jsp,您好,我正在用jsp创建一个网页,在这里我必须显示一个路径中的图像,该路径指向存储图像的文件夹。但是当我运行该文件时,我只看到路径名,而不显示图像。有人能帮我完成以下代码吗 代码: 您可以使用以下路径: File f = new File("C:/UploadedFiles/abc.jpg"); 而不是写 File f = new File("C:/UploadedFiles"); 您使用的文件路径只是文件夹的路径,而不是图像的路径。尝试类似的方法 <td><img sr

您好,我正在用jsp创建一个网页,在这里我必须显示一个路径中的图像,该路径指向存储图像的文件夹。但是当我运行该文件时,我只看到路径名,而不显示图像。有人能帮我完成以下代码吗

代码:



您可以使用以下路径:

File f = new File("C:/UploadedFiles/abc.jpg");
而不是写

File f = new File("C:/UploadedFiles");

您使用的文件路径只是文件夹的路径,而不是图像的路径。

尝试类似的方法

<td><img src="<%=path%>"/"<%=name%>"></td>
“/”>

想法是在img标记中提供文件名和路径。如果出现问题,请原谅,因为我不知道JSP

首先获取该路径中存在的所有文件名

public class ManipulateImage {    
public static String[]  display(){

             File folder = new File("C:/Folder Name");
             File[] listOfFiles = folder.listFiles();
             String [] k = new String[listOfFiles.length];
             Arrays.fill(k,"none");

                 for (int i = 0; i < listOfFiles.length; i++) {
                   if (listOfFiles[i].isFile()) {
                     System.out.println("File " + listOfFiles[i].getName());
                     k[i]="File " + listOfFiles[i].getName();
                   } else if (listOfFiles[i].isDirectory()) {
                     System.out.println("Directory " + listOfFiles[i].getName());
                   }

                 }
                 return k;
         }
}

文件名在哪里?你只是给出了图像路径,即使你没有在标记之前开始锚定标记我想你必须输入完整的路径…你能告诉我怎么做吗?@John=path变量包括路径和文件名。=path变量包括路径和文件名。“…因为我不知道JSP“-不回答JSP问题,然后><怎么样?执行for循环并相应地输出html标记?”?
public class ManipulateImage {    
public static String[]  display(){

             File folder = new File("C:/Folder Name");
             File[] listOfFiles = folder.listFiles();
             String [] k = new String[listOfFiles.length];
             Arrays.fill(k,"none");

                 for (int i = 0; i < listOfFiles.length; i++) {
                   if (listOfFiles[i].isFile()) {
                     System.out.println("File " + listOfFiles[i].getName());
                     k[i]="File " + listOfFiles[i].getName();
                   } else if (listOfFiles[i].isDirectory()) {
                     System.out.println("Directory " + listOfFiles[i].getName());
                   }

                 }
                 return k;
         }
}
<%
    String[] k=ManipulateImage.display();
    int l=k.length;
%>
 for(int i=0;i<k.length;i++){
              j[i]=k[i].substring(5);
              link[i]="http://localhost:8080/ImageUploadWebApp/DisplayImageServlet/images/"+j[i];
        }
 URL[] url= new URL[k.length]; 
    for(int i=0;i<k.length;i++){
    url[i]= new URL(link[i]);
    }
<%
    for(int i=0; i< k.length ;i++){
        out.println(" <img id='copyimg"+i+"' alt='img' style='width:304px;height:228px;' src="+url[i]+">");

     } 
%>
public class DisplayImageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
String image_name = "";
ResourceBundle props = null;
String filePath = "";
private static final int BUFSIZE = 100;
private ServletContext servletContext;
public DisplayImageServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("FROM SERVLET");
sendImage(getServletContext(), request, response);
}
public void sendImage(ServletContext servletContext,
HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.servletContext = servletContext;
String reqUrl = request.getRequestURL().toString();
StringTokenizer tokens = new StringTokenizer(reqUrl, "/");
int noOfTokens = tokens.countTokens();
String tokensString[] = new String[noOfTokens];
int count = 0;
while (tokens.hasMoreElements()) {
tokensString[count++] = (String) tokens.nextToken();
}
String folderName = tokensString[noOfTokens - 2];
image_name = tokensString[noOfTokens - 1];
filePath = "/" + folderName + "/" + image_name;
String fullFilePath = "C:/Folder Name" + filePath;
System.out.println("FULL PATH :: "+fullFilePath);
doDownload(fullFilePath, request, response);
}
private void doShowImageOnPage(String fullFilePath,
HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.reset();
response.setHeader("Content-Disposition", "inline");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
response.setContentType("image/tiff");
byte[] image = getImage(fullFilePath);
OutputStream outputStream = response.getOutputStream();
outputStream.write(image);
outputStream.close();
}
private void doDownload(String filePath, HttpServletRequest request,
HttpServletResponse response) throws IOException {
File fileName = new File(filePath);
int length = 0;
ServletOutputStream outputStream = response.getOutputStream();
ServletContext context = servletContext;
String mimetype = context.getMimeType(filePath);
response.setContentType((mimetype != null) ? mimetype
: "application/octet-stream");
response.setContentLength((int) fileName.length());
response.setHeader("Content-Disposition", "attachment; filename=\""
+ image_name + "\"");
byte[] bbuf = new byte[BUFSIZE];
DataInputStream in = new DataInputStream(new FileInputStream(fileName));
while ((in != null) && ((length = in.read(bbuf)) != -1)) {
outputStream.write(bbuf, 0, length);
}
in.close();
outputStream.flush();
outputStream.close();
}
private byte[] getImage(String filename) {
byte[] result = null;
String fileLocation = filename;
File f = new File(fileLocation);
result = new byte[(int)f.length()];
try {
FileInputStream in = new FileInputStream(fileLocation);
in.read(result);
}
catch(Exception ex) {
System.out.println("GET IMAGE PROBLEM :: "+ex);
ex.printStackTrace();
}
return result;
}
}