当前位置:  技术问答>java相关

急!!!如何在jsp中把byte[]转换成image,然后在applet中显示出来?(分数可以再加)

    来源: 互联网  发布时间:2017-04-08

    本文导语:  我通过一个c++的exe程序输出一个jpeg图象的流,然后在jsp中取到后转成byte[],怎样在jsp中把byte[]转换成image,然后在applet中通过url调用jsp显示出来? (c++是完成另一种格式的图象到jpeg的转换) applet代码 import java.applet.*; im...

我通过一个c++的exe程序输出一个jpeg图象的流,然后在jsp中取到后转成byte[],怎样在jsp中把byte[]转换成image,然后在applet中通过url调用jsp显示出来?
(c++是完成另一种格式的图象到jpeg的转换)

applet代码
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
import javax.swing.*;

public class export_jpeg extends Applet
{
  Image image;
  URL  iurl = null;
  String status="";
  public void init()
  {
   try{
    iurl=new URL  ("http://zhangxike:8080/clever/multiView/export_jpeg.jsp");
 
   image = Toolkit.getDefaultToolkit().getImage(iurl);
     
    }catch (Exception e)
     {
    System.out.println(e.getMessage());
     }

  }

  public void paint(Graphics g)
  {
     g.drawImage(image, 0, 0,this);
//     System.out.println("paint image wrong ....");    
    
  }

 }

jsp代码












|
Image img=this.getToolkit().createImage(byte[],width,height);//用byte[]建立图象
显示的话,直接
g.drawImage(img,0,0,this);
------------
ok????!!!!

|
you can use Servlet
http://softwaredev.earthweb.com/java/article/0,,12082_1488051_3,00.html
Acquiring a Binary Stream for the Response
Suppose you want to open a binary file in a browser from a servlet. It isn't text so you have to write the file to the servlet's output stream. Let's practice with a PDF document. First, you get the servlet's output stream with:

ServletOutputStream out = res.getOutputStream();
Next, you set the file type in the response object using one of the standard MIME (Multipurpose Internet Mail Extension) protocols. Several listings of content type names are available on the Internet including one at ftp://ftp.isi.edu/in-notes/iana/assignments/media-types. Then you use an HTTP response header named content-disposition. This header allows the servlet to specify information about the file's presentation. Using that header, you can indicate that the content should be opened separately (not actually in the browser) and that it should not be displayed automatically, but rather upon some further action by the user. You can also suggest the filename to be used if the content is to be saved to a file. That filename would be the name of the file that appears in the Save As dialog box. If you don't specify the filename, you are likely to get the name of your servlet in that box. To find out more about the content-disposition header, check out Resources or go to http://www.alternic.org/rfcs/rfc2100/rfc2183.txt.

Sending a binary stream to the client is not easy. Listing 4.10 will help you do it right.

Listing 4.10 Servlet That Sends a File to the Client
public class BinaryResponse extends HttpServlet {

  /**Set global variables*/
  public void init(ServletConfig config) 
      throws ServletException 
  {
   super.init(config);
  }

  /**Process HTTP Post request with doPost*/
  public void doPost(HttpServletRequest request, 
           HttpServletResponse response) 
    throws ServletException, IOException 
  {
  
   String fileName = "index.html"; //set file name  
   String contentType = getContentType(fileName);
   //contentType = getType(); //get the content type
   
   // get the file
   File file = new File(fileName);
   long length = file.length();
   if(length > Integer.MAX_VALUE)
   {
     //handle too large file error
     //perhaps log and return error message to client 
   }
   byte[] bytes = new byte[(long)length];
   BufferedInputStream in = 
    new BufferedInputStream(new FileInputStream(file));
   // then place it into a byte array
   if(length != in.read(bytes))
   {
     //handle too large file error
     //perhaps log and return error message to client 
   }

   //get the servlet's output stream
   BufferedOutputStream out = 
   new BufferedOutputStream(response.getOutputStream());
   //set the content type of the response
   response.setContentType( contentType );
   //send the file to the client
   out.write( bytes );
  }
 }

  /**Clean up resources*/
  public void destroy() 
  {
   //If you need to clean up resources.
   //Otherwise don't override.
  }
  String getContentType(String fileName)
  {
   String extension[] = 
   {              // File Extensions
     "txt",            //0 - plain text 
     "htm",            //1 - hypertext 
     "jpg",            //2 - JPEG image 
     "gif",            //3 - gif image 
     "pdf",            //4 - adobe pdf
     "doc",            //5 - Microsoft Word 
   },                // you can add more
   mimeType[] = 
   {             // mime types
     "text/plain",         //0 - plain text 
     "text/html",         //1 - hypertext 
     "image/jpg",         //2 - image 
     "image/gif",         //3 - image 
     "application/pdf",      //4 - Adobe pdf 
     "application/msword",     //5 - Microsoft Word 
   },                // you can add more
   contentType = "text/html";    // default type
   
   // dot + file extension
   int dotPosition = fileName.lastIndexOf('.');
   // get file extension
   String fileExtension = 
       fileName.substring(dotPosition + 1);
   // match mime type to extension
   for(int index = 0; index 

    
 
 

您可能感兴趣的文章:

  • 高人啊! <jsp:useBean...问题! 分数多多!
  • 谁能解释这个问题(jsp和servlet的互换)?? (路人甲在吗??)(分数可以再加)
  • ◎◎◎大虾救命!!!如何让返回客户端的图象中的实体被选中?并弹出快捷菜单(链接到其他jsp上)??(如果可以,我的分数全给你!!)◎◎◎
  • 三个jsp小问题,分数只能给100,不够另外开贴子给!请高手赐教!!
  • [求助]如何将用jsp写成的动态页面(*.jsp), 转换成静态页面(*.html)???
  • JSP中日期类型转换的问题
  • 50分求教,在JSP里如何将String转换成Double
  • JSP中的类型转换?
  • asp转换成jsp
  • 不好意思,JSP中String大小写转换函数是什么?
  • 在 JSP 中怎么进行各种数据类型的转换?
  • jsp中怎样转换半角和全角,能控制吗?
  • 急救:如何在jsp中将阿拉伯数字转换成中文大写,如:'1228008.98' 转换为 '壹佰贰拾贰万扒仟零扒圆玖角扒分'各位大虾给看看,一定给分!!
  • 如何在JSP中转换函数类型
  • 在JSP中我如何将“4/5/2001”串转换为“2001-04-05”?
  • 怪问题--JSP自动将浏览器的编码转换成 西欧(ISO)字体 然后显示的是乱码
  • jsp动态文件如何转换为*.shtml的静态页面呢?请教,急!!!!
  • 请问在javabean,java和jsp代码中如何判断一个字符串是否数字,还有如何把string转换成int!!!高分请教!!!
  • (!!!!)有段转换为xml文件的代码,在bean中好用,在JSP中不好用。,TOMCAT上显示错误。
  • jsp里面Session里面能写进中文吗?怎么用我用ISO8859-1转换了还是一堆??????
  • 我要把在applet里用swing的jtable展现的数据表格,实现打印的功能且可由用户选择需打印的列,该怎么办?不知这种表格能否也象jsp或javascript那样转换成excel呢?
  • JSP处样得到系统的日期,并进行转换??
  • 高分求解,在线等待!如何将Jsp页面的内容转换成word文档打印出来或像word一样打印出来?
  • JSP+ORCALE8的多国语言的转换问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重大困惑:用win2000,Tomcat的jsp服务器,发布出来的网页默认编码是西欧字码,我们明明已在jsp文件中写上...GB2312...了,请大虾指点!
  • 如何实现用jsp将sql server 的数据备份出来!并指定存放路径!
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • 将数据库中的空格,在jsp页面中如何显示出来!,马上给分!!!
  • 在JSP里怎么把我刚刚算出来的数值在页面上表示成只有小数点后两位的样子呀?
  • jsp中如何上传图片进数据库,并且读出来(快来啊,大兄们,笨苯,你在哪里呀,你在哪里:))
  • jsp中向英文版的sql中写中文数据,出来是乱码,有解决方法吗?
  • 太奇怪了,jsp中的rs数据集其他的字段都能取出来,但就是有一两个字段取不出来,这是为什么?
  • 求助,在Servlet中的ServletException如何在JSP页面显示出来,而不是500 ERROR?急!
  • SQL_Server中存储的图象怎样用jsp显示出来
  • 给分:JSP取SQL 2000中文数据,显示出来就却是乱码
  • jsp怎样能使从sql server数据库读出来的数据正常输出到显示的页面呢?怎样使后添的内容输出到查看留言最前面呢?
  • 如何将数据库表中每个字段的字段描述在JSP文件中显示出来?
  • 请教:JSP怎样连接Excel?将Excel的数据读取出来用表格显示在浏览器上?
  • jsp怎样才能使从数据库读出来的表格信息以表格形式全部输出到浏览器上呢?
  • jsp 数据库查询问题。100分!!解答出来,送的分可以加,决不失言!
  • 各位大虾,我是菜菜鸟,想请教一个jsp查询出来的结果在网页中的显示问题!
  • 为什麽jsp用jdbc odbc桥调用sql server中的数据就是调不出来呢? 怎样往里写数据?
  • 大家帮忙,公司要用jsp,可我连jsp环境都弄不出来,怎么办?我快疯了
  • 想作一个通用的从数据库取数据到对象中并在JSP表示的类,显示不出来,哪位真正高手请进!
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3