`
y806839048
  • 浏览: 1106949 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

图片写到页面上,还是写到浏览器上都是文件--》流--》字节转化方法

 
阅读更多

 

图片写到页面上,还是写到浏览器上都是文件--》流--》字节转化方法

 

文件--》流--》字节,后面发展用工具类包装了部分,至于后缀名,格式的限制就直接判断

ByteArrayInputStream extends  InputStream  

ByteArrayOutputStream extends OutputStream

FileOutputStream extends OutputStream

FileInputStream extends InputStream

 

file <-->InputStream<-->bytes[]//正向用方法,逆向用构造函数

 

Stream 放在别人的reader之后变成buffere toString

 BufferedImage bufferedImage = ImageIO.read(input);

 

流--》字节变化方法(2种)

Stream 自身的reader之后变成byte[],Stream变成ByteArrayInputStream后直接有toByteArray方法

 destFile = new File(root,fileFileName);

// os = new FileOutputStream(destFile);

// byte[] buffer = new byte[10240];

// int length=0;

// while((length=is.read(buffer))>0){

// os.write(buffer, 0, length);

// }

 

 

原始 文件--》流--》字节:

@RequestMapping(value = "/account/tbCusFirmChg/uploadSave")

public String uploadSave(@RequestParam Map<String,Object> upMap,@RequestParam(value="file") MultipartFile file,Model model, HttpSession session, HttpServletRequest request,HttpServletResponse response) throws EsteelException {

 

String filePath=StaticVariables.Base_Path;

String url="";

File destFile=null;

 InputStream is=null;

OutputStream os=null;

OutputStream os1=null;

String fileFileName=file.getOriginalFilename();

is= file.getInputStream();

String path=new SimpleDateFormat("yyyyMMdd").format(new Date());

String root =filePath+"/"+path;

File f = new File(root);

if(!f.exists()){

f.mkdirs();

}

                                      String extendName="";

 

if(!"".equals(fileFileName)){

extendName= file.getOriginalFilename().substring(file.getOriginalFilename().indexOf(".")+1);

extendName=extendName.toUpperCase();

}

if(",BMP,JPG,GIF,".indexOf(","+extendName+",")>0){

lo = file.getSize();

if(lo>StaticVariables.maxSize_PicFile){

String sc="<script language=javascript>alert('上传的文件夹大小为"+file.getSize()/1024L+"K,超过大小限制 "+StaticVariables.maxSize_PicFile/1024L+"K! ');history.back(); </script>";

ResponseUtil.print(sc, response);

return null;

}

}

 String newFileName = new SimpleDateFormat("HHmmss").format(new Date())+getRandStr("",6);

fileFileName=newFileName+"."+extendName;

destFile = new File(root,fileFileName);

os = new FileOutputStream(destFile);

byte[] buffer = new byte[10240];

int length=0;

while((length=is.read(buffer))>0){

os.write(buffer, 0, length);

}

 

 

 

 

@RequestMapping(value = "/account/tbCusFirmChg/showImage")

    public void showReportImage(@RequestParam(value = "path") String path,

                                HttpServletRequest request,HttpServletResponse response) throws IOException, NumberFormatException, EsteelException {

//             response.setContentType("image/jpeg");

 

            response.setCharacterEncoding("UTF-8");

//        String filePath= WebConfig.get("filePath");

            String pathBase = StaticVariables.Base_Path;

        File file=null;

        if(path!=null&&!"".equals(path)){

            file=new File(pathBase+path);

        }

        if( file==null||!file.exists()){

                response.getWriter().print("未找到图片");

        }else {

            response.setContentType("image/jpeg");

            FileInputStream fos = new FileInputStream(file);

            byte[] bytes = new byte[1024*1024];

            int length = 0;

            while((length=fos.read(bytes))!=-1){

                response.getOutputStream().write(bytes,0,length);

            }

        }

    }

 

    后面发展用工具类包装了部分:

 

    /*存储文件返回格式tfsFileName*/

public static String uploadMethod6(MultipartFile picture)

throws IOException {

String tfsFileName = "";

String fileName="";

if (!picture.isEmpty()) {

/*String path = request.getSession().getServletContext().getRealPath("/") + File.separator + "upload"

+ File.separator + indentity;*/

fileName = picture.getOriginalFilename();

tfsFileName = TFSUtil.saveTfsByteFile(picture.getBytes(), fileName);

/*pathnew = File.separator + "upload" + File.separator + indentity + File.separator + fileName;

System.out.println(fileName);

File targetFile = new File(path, fileName);

if (!targetFile.exists()) {

targetFile.mkdirs();

}

picture.transferTo(targetFile);*/

}

return tfsFileName;

}

 

/*存储文件后返回在TFS中存储的文件码*/

public static String saveTfsByteFile(byte[] fileBytes, String fileName) {

TfsManager tfsManager = getTfSManager();

String fileExt = getFileExt(fileName);

String tfsfileName = tfsManager.saveFile(fileBytes, null, fileExt, true);

return tfsfileName;

}

 

分享到:
评论

相关推荐

    将二维码直接转化为流输出到页面上而不需要生成图片继而加载

    因此,"将二维码直接转化为流输出到页面上"是一种优化策略,旨在减少资源消耗,提高服务效率。 这个方法的核心在于不将二维码作为图片文件存储,而是直接生成二维码的二进制流,并将其发送到客户端进行解析和显示。...

    微信跳转到默认浏览器下载app.zip

    在移动互联网领域,微信作为一款超级App,拥有庞大的用户基数,但其内置的浏览器对于某些特定功能,如大文件下载、复杂交互等支持有限。因此,开发者常常需要将用户引导到设备的默认浏览器来完成这些操作,比如下载...

    图片转base64保存到数据库 , 并回显到浏览器

    在IT行业中,将图片转换为Base64编码并存储到数据库是一种常见的做法,尤其是在Web开发中。这种方法可以避免处理图片的上传、存储和路径管理问题,简化系统架构。以下是关于这个主题的详细知识: 1. **Base64编码**...

    java实现本地读取图片存储到数据库中并在html网页显示

    首先,我们需要理解的是,将图片存储到数据库中通常采用的方法是将图片转换为二进制数据流。这是因为数据库系统更善于处理结构化数据,而不是像图片这样的非结构化数据。在Java中,我们可以使用`java.io`和`java.nio...

    图片直接保存到数据库,并在JSP页面显示

    使用`FileInputStream`读取图片文件,将其转化为字节数组,这一步是将图片内容转换为可存储的数据格式。 2. 数据库存储:图片数据可以存储在关系型数据库(如MySQL)的BLOB(Binary Large Object)类型字段中。使用...

    java 编写文件上传类简单易用

    标签中添加以下代码可以页面上显示一个选择文件的控件。 &lt;input type="file" name="file01"&gt; 在页面中显示如下(可能随浏览器不同而不同) 可以直接在文本框中输入文件名,也可以点击按钮后弹出供用户...

    browser-md5-file-1.0.0.zip

    它们都提供了计算文件MD5的方法,但在实际使用中,通常会选择min.js版本以减少页面加载时间。 3. 使用方法: 要使用browser-md5-file,首先需要在HTML文件中引入对应的JavaScript文件,然后通过JavaScript调用其...

    塞班S40手机浏览器UC浏览器8.0 jar程序java源代码

    在塞班S40系统中,Java应用程序通常被打包成JAR(Java Archive)文件,这些文件包含了编译后的字节码,可以在Java虚拟机(JVM)上运行。在提供的文件列表中,如be.class.txt、p.class.txt等,这些都是经过编译的Java...

    Thymeleaf显示base64字符串为图片.docx

    这段后台代码中,我们首先获取到图片的字节数组`imgbyte`,然后使用`BASE64Encoder`将其转换为Base64字符串`str64`。`ModelAndView`对象用于在前后端之间传递数据,我们设置了视图名称为`showimg`,并添加了一个名为...

    JavaScript+Java实现HTML页面转为PDF文件保存的方法_.docx

    JavaScript 和 Java 结合实现 HTML 页面转化为 PDF 文件保存的方法主要涉及前端和后端两个部分。首先,在前端,我们利用 JavaScript 的库 html2canvas 和 jsPDF 来处理 HTML 页面并生成 PDF。 1. **html2canvas**:...

    dwrupload文件上传

    总的来说,“dwrupload”项目展示了如何利用DWR3.0实现异步文件和图片上传,以及如何将文件内容转化为字节流进行处理,这在现代Web应用中是非常实用的技术。开发者可以通过学习和实践该项目,提升自己在文件上传和...

    Base64.js-master js上传文件插件源码,有需要的小伙伴可以下载

    6. **使用场景**:Base64.js-master可能适用于需要在浏览器端进行文件预览、小文件即时传输(如图片、音频片段)或在不支持FormData的环境下上传文件的应用。例如,在线表单、社交媒体上传图片、轻量级文件分享平台...

    ASP.NET如何存取SQL Server数据库图片

    在ASP.NET页面上显示图片,可以通过将从数据库中检索出的字节数组转化为Base64编码的字符串,然后在HTML元素中使用`src`属性加载该字符串,或者直接将字节数组写入响应流,使浏览器能够识别并显示图片。 综上所述,...

    struts2+poi实现导出Excel文件

    Struts2 和 Apache POI 的结合使用主要集中在创建 Web 应用程序中导出 Excel 文件的功能上。Apache POI 是一个 Java 库,允许开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 Excel。而 Struts2 是一...

    ASP 生成静态网页(UTF-8)

    2. **编码转换**:确保所有动态数据在输出到HTML之前都转化为UTF-8编码。这可以通过设置Response对象的CharSet属性来实现,例如`Response.Charset = "UTF-8"`。 3. **HTML模板构建**:创建HTML模板,将动态数据插入...

    图片base64编码互换源码

    在处理图片时,由于图片本质上是二进制数据,因此可以使用Base64编码来将其转化为文本形式,方便在网络上传输或者嵌入到HTML、CSS或JavaScript中。本主题涉及的知识点主要包括Base64编码原理、如何进行图片的Base64...

    文件异步上传,显示进度条

    1. **文件上传**:文件上传是指将本地计算机上的文件通过网络发送到服务器的过程。在传统的HTTP请求中,文件上传通常会导致页面刷新,用户体验不佳。然而,随着Ajax和Web 2.0技术的发展,异步文件上传成为可能。 2....

    Base64位图片转码demo

    Base64是一种编码方式,常用于在不能直接传输二进制数据的环境下,将图片、文档等二进制文件转化为可打印的ASCII字符序列。在Web开发中,Base64编码常常被用来嵌入小尺寸图片到HTML或CSS中,减少HTTP请求,提升页面...

Global site tag (gtag.js) - Google Analytics