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

上传后显示(两种)

 
阅读更多

(三)上传后显示:

 

 

1,上传后用js从上传控件获取数据显示,用于时时看效果不必保存图片后再从磁盘拿

<label>上传图片:</label> <span><input type="file"

style="width: 240px; border: none;" accept=".jpg,.gif,.png,.bmp"

name="picture" value="${vo.picture_address}"

onchange="previewImage(this,'preview','imghead')" /></span> <br>//页面上控件拿

<div id="preview">

<img id="imghead"

src="${pageContext.request.contextPath}${vo.picture_address}"

alt="" style="cursor: pointer; width: 100%;" />//磁盘拿

</div>

 

function previewImage(file, preview, imghead) {

var MAXWIDTH = 260;

var MAXHEIGHT = 180;

var div = document.getElementById(preview);

if (file.files && file.files[0]) {

div.innerHTML = "<img id='"+imghead+"'>";

var img = document.getElementById(imghead);

img.onload = function() {

var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT,

img.offsetWidth, img.offsetHeight);

img.width = rect.width;

img.height = rect.height;

//         img.style.marginLeft = rect.left+'px';

img.style.marginTop = rect.top + 'px';

}

var reader = new FileReader();

reader.onload = function(evt) {

img.src = evt.target.result;

}

reader.readAsDataURL(file.files[0]);

} else //兼容IE

{

var sFilter = 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';

file.select();

var src = document.selection.createRange().text;

div.innerHTML = "<img id='"+imghead+"'>";

var img = document.getElementById(imghead);

img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;

var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth,

img.offsetHeight);

status = ('rect:' + rect.top + ',' + rect.left + ',' + rect.width

+ ',' + rect.height);

div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\'></div>";

}

}

function clacImgZoomParam(maxWidth, maxHeight, width, height) {

var param = {

top : 0,

left : 0,

width : width,

height : height

};

if (width > maxWidth || height > maxHeight) {

rateWidth = width / maxWidth;

rateHeight = height / maxHeight;

 

if (rateWidth > rateHeight) {

param.width = maxWidth;

param.height = Math.round(height / rateWidth);

} else {

param.width = Math.round(width / rateHeight);

param.height = maxHeight;

}

}

 

param.left = Math.round((maxWidth - param.width) / 2);

param.top = Math.round((maxHeight - param.height) / 2);

return param;

}

2,上传后从后台显示,需要保存后再从磁盘拿

@RequestMapping(value = "/system/tbBasBed/showImage")

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

                               @RequestParam(value = "id") String id,

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

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

 

           response.setCharacterEncoding("UTF-8");

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

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

       File file=null;

       TbBasBed currbasBed = new TbBasBed();

currbasBed.setWare_key(id);

currbasBed= tbBasBedService.getBasBedById(Integer.valueOf(id+""));

       if(currbasBed!=null){

           if("bas".equals(imageType)&&currbasBed.getPicture_address()!=null){

           file=new File(path+currbasBed.getPicture_address());

           }

       }

       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);

           }

       }

   }

 

分享到:
评论

相关推荐

    ueditor上传图片不显示

    针对上述问题,我们可以采取以下两种主要的解决策略: ##### 第一种方法:修改配置文件 1. **定位config.json文件**:首先,找到项目的config.json文件。该文件包含了Ueditor的基本配置信息。 2. **调整...

    Qt之 Post方法上传图片到服务器两种方式Base64流和File

    在Qt框架中,进行HTTP POST请求来上传图片到服务器主要有两种常见的方式:Base64编码流和直接上传文件。这两种方法各有优缺点,适用于不同的场景。下面将详细讲解这两种方式的实现过程及其特点。 首先,我们来看...

    jquery文件上传例子(两种方式)

    标题 "jquery文件上传例子(两种方式)" 涉及到的是使用jQuery库进行文件上传的实践,这在Web开发中是非常常见的需求。jQuery是JavaScript的一个轻量级库,它简化了DOM操作、事件处理和Ajax交互等任务。在这个示例中,...

    支持图片上传及实时显示,可设置显示图片的大小。由php、Ajax、javascript开发

    **实时显示** 是通过Ajax的异步特性实现的,服务器处理图片上传后,返回一个确认消息,JavaScript接收到消息后更新页面,显示上传成功的提示或新图片。 **图片大小设置** 可能涉及到两部分:前端预览和后端处理。...

    asp上传图片两种方法

    在ASP(Active Server Pages)开发中,图片上传是常见的功能之一,主要分为两种方式:将图片保存到服务器的文件夹中和将图片数据存储到数据库中。这两种方法各有优缺点,下面将详细介绍这两种方法及其实施步骤。 ##...

    ASP.NET MVC实现图片上传、图片预览显示

    - 在控制器中,需要创建两个Action方法,一个用于处理视图操作,另一个专门用于处理文件上传。 - 在模型中,创建一个Entity类用于表示数据库表中的记录,并定义必要的数据访问方法。 - 可能包含一个将DataTable转换...

    jsp 图片上传立即显示

    为了实现图片的立即显示,有两种常见方法: 1. **Base64编码**:将图片转换为Base64字符串,然后在HTML中直接作为`data:` URL加载。这种方式适用于小尺寸图片,因为Base64编码会使文件大小增加约33%。 ```html ...

    jsp上传文件显示上传进度

    5. **实现进度服务端接口**:在Servlet中添加两个新方法,一个用于启动上传(记录开始时间、文件大小等),另一个用于查询进度(计算已上传的字节数与总字节数的比例)。 ```java // 启动上传 public void ...

    FTPUpload上传文件 进度条显示进度

    2. **切换工作模式**:FTP有两种工作模式,主动模式和被动模式。通常,被动模式更适合防火墙或NAT环境。你可以使用`passiveMode()`方法切换到被动模式。 3. **选择上传文件**:使用`changeWorkingDirectory()`方法...

    jquery prototyoe文件上传(页面同时显示进度条,文件大小,上传信息)

    在网页开发中,文件上传是一项常见的功能,而jQuery与Prototype作为两种流行的JavaScript库,提供了方便的API来实现这一功能。本篇文章将详细讲解如何利用jQuery和Prototype实现文件上传,并在页面上实时显示进度条...

    三种文件批量上传方法 包含服务器端代码 带进度条

    本资源提供的是三种不同的文件批量上传方法,其中包括单文件上传和多文件上传,并且都带有进度条功能,这对于提升用户体验至关重要。下面将详细阐述这些知识点。 1. **单文件上传**: 单文件上传是基本的文件上传...

    aspnet上传文件的两种方式 普通html控件 服务器控件

    本篇文章将详细探讨两种实现文件上传的方法:普通HTML控件和服务器控件。 首先,我们来了解一下**普通HTML控件**的方式。这种方式通常涉及到HTML的`&lt;input type="file"&gt;`元素。在HTML页面中,你可以创建一个这样的...

    Flash的可上传多个文件并可显示上进度

    这是一个用Flash上传,并可以显示上传进度过程的好东东,服务器接收只做了asp和php两种,如果你是用其它脚本语言的可以自己行写,这个东东最大好处就是可以同时上传多个文件并显示上传进度,不用花心思写一大堆显示进度的...

    js jquery无刷新上传插件及实现源码 两种uploadFile 和Uploadify

    本文将深入探讨两种常用的无刷新上传插件:`uploadFile`和`Uploadify`,并结合AJAX上传图片的实例`FileUpload`来详细解析其工作原理和实现方式。 首先,我们来看`uploadFile`插件。`uploadFile`是一个基于jQuery的...

    简单的servlet+jsp图片上传并显示图片解压就可用

    结合这两种技术,我们可以构建一个用户友好的图片上传系统,该系统允许用户上传图片,并在服务器上存储后立即显示。 首先,我们需要创建一个Servlet来接收和处理文件上传请求。在Servlet中,我们可以使用Java的`...

    两种不同的进度条

    本篇文章将详细探讨标题中提到的两种不同的进度条:长形进度条和圆形进度条,并结合描述中的对话框演示效果进行讲解。 首先,我们来看长形进度条,也称为条形进度条。这种进度条是最常见的一种形式,通常表现为水平...

    网页中上传文件时显示进度条

    在网页设计中,提供文件上传功能是常见的需求,而为了提升用户体验,显示上传进度条是一项重要的优化措施。本文将深入探讨如何使用AJAX技术来实现这一功能。 首先,我们需要了解AJAX(Asynchronous JavaScript and ...

    php + flash 大文件 上传显示进度

    在IT行业中,PHP和Flash是两个重要的技术领域,它们经常被用来处理大文件上传和显示上传进度的问题。这里,我们将详细探讨如何利用PHP和Flash来实现这个功能。 首先,PHP作为服务器端脚本语言,主要负责接收、处理...

    ASP.NET上传图片至数据库并显示图片

    以上两种方法都是 ASP.NET 中处理图片上传和显示的常见方式。第一种适合于对图片管理要求不高的场景,而第二种则更适用于需要跨服务器或对图片数据安全性有较高要求的应用。在实际开发中,根据项目需求和性能考虑,...

    全新开发苹果CMS源码 引流吸粉视频 两种播放模式 仿抖音快手直播

    全新开发苹果CMS/引流吸粉视频/-两种播放模式/包天包月包年观看/仿抖音快手直播/广告自动弹窗 特点:可包天+包月+包年消费;源码全开源可二开; 后台就是苹果cms后台,搭建环境要求:Php5.6+mysql5.6+Apache 2.4.48...

Global site tag (gtag.js) - Google Analytics