`
lz726
  • 浏览: 335817 次
  • 性别: Icon_minigender_2
  • 来自: 福建,福州
社区版块
存档分类
最新评论

附件上传-前端篇

 
阅读更多

经过大半个月的折腾,终于可以出一个自己比较认可的版本。这次心的自我挑衅过程,感觉自己又有成长,还是很想记录一下。过程挺不容易的。

 

20130514

需求是:实现像QQ邮箱那样的附件上传功能,而且要做成通用的标签文件。供大家调用!

对于一个纯JAVA程序员来说,还是有点难度的。

难点1:如何把之前文件上传控件变成一个按钮?
 

       2:如何获取本地文件的大小?

       3:还要支持弹出框?
 

 

经过选型,最后选择了OperaMasks-UI的omFileUpload组件。

omFileUpload的最基本用法。action属性指定处理文件上传的服务端地址。swf属性指定处理上传的swf的文件位置。onComplete为上传成功后的回调函数。 

 

在使用过程中,遇到了一些问题。

1.如何和现有的架构结合。struts1.x+spring3.0

2.一个按钮如何变成链接? (感觉很猥琐)

3.显示效果样式如何调整?

4.还有很多顾虑,比如进度条是真的吗?

。。。。。

带着很多问题上路。

 

=======================================================

20130520

一开始,对这个控件不熟悉,很多不懂怎么用,捣腾了下,又想换别的,比如SWFUPLOAD。。主要还是自己只会JAVA,很多东西受到了限制。

最后还是决定使用operamasks  omFileUpload控件。对控件做了一些调整。

还是用了透明技术,以及样式的绝对定位。

最后因为绝对定位的问题,不得不使用了iframe。。。虽然DIV可以实现,但是使用的时候需要去绝对定位它,为了通用性还是决定用iframe.( 后来发现这种想法是错误的。)

 

强大的样式,可以实现这样的定位。经过一段时间的针扎,最后不得不直接copy QQ邮箱的样式。多亏了强大的浏览器。尴尬

 

 

贴代码:

  

<script type="text/javascript">
	$(document).ready(function() {
	  $('#file_upload').omFileUpload({
	    action : 'uploadFile.shtml',
	    swf : 'om-fileupload.swf',
	    width : 300,
	    height: 300,
	    multi  :true,
	    queueSizeLimit : 10,
	    //autoUpload : true,
	    removeCompleted:false,
	    onComplete : function(ID,fileObj,response,data,event){
		    var jsonData ="";
		    try{
		      jsonData = eval("("+response+")");
		    }catch(e){
		    	alert("出错,请联系管理员!");
		    }
		    $("#" + $(event.target).attr('id') + ID).find('.percentage').html("<a target=\"_blank\" href="+jsonData.fileUrl+">点击浏览</a>");
	    }
	  });
	});
 
	</script>

 

 

<div class="input_title" style="padding-top: 10px; padding-bottom: 8px;"  >
	 <span id="attachupload" style="display: none;"></span>
          <span id="composecontainer"><span class="compose_toolbtn qmEditorAttach dragAndDropTrap_box">
          <span title="添加小于 50M 的文件作为附件" id="AttachFrame" style="position: relative;"   sizelimit="50">

	<span style="left: 0px; top: 0px; width: 66px; height: 16px; overflow: hidden; filter: alpha(opacity=0); position: absolute; z-index: 1; cursor: pointer; zoom: 1; opacity: 0; background-color: rgb(255, 255, 255);">
	<input style="width: 200px; height: 200px; right: 0px; font-family: Times; font-size: 50px; position: absolute; cursor: pointer;" id="file_upload" name="file_upload" type="file" /></span>
<a   class="compose_toolbtn_text ico_att" onmousedown="return false;" onclick="return false;">
<span id=sAddAtt1>添加附件</SPAN>
<span style="DISPLAY: none" id=sAddAtt2 onmousedown="return false;" onclick="return false;">继续添加</span></a>

 <button value="上传" onclick="$('#file_upload1').omFileUpload('upload')">上传</button>  

 
效果:

 

选择完后:

 

上传按钮可以通过配置实现是否出来,是自动上传还是用按钮。
 

 

5月22日出第一雏形。文件是通过链接下载的,后来需求说直接读库。所以后续又做了调整。
 5月22号刚好遇到了笔记本坏掉了,以及还要处理的其他事情,没有完整的一段时间做这个东西,断断续续的,而且还出现了一些不好的小情绪的影响。一路下来,还好折腾出来了。

 

java代码部分后续文章中写。

 

 

 

 

    

  • 大小: 877 Bytes
  • 大小: 2.5 KB
  • 大小: 1.2 KB
  • 大小: 2.7 KB
分享到:
评论
1 楼 qaplwsok 2013-09-12  
您好,能描述详细一些吗?

相关推荐

    maximo系统附件上传功能的实现

    本篇文章将详细介绍如何在Maximo 7.5系统中实现附件上传功能,并说明这一配置在Maximo 7.1中同样适用。 1. **配置步骤** - **系统设置**:首先,你需要在Maximo系统的“系统设置”中启用附件功能。进入“系统设置...

    flask前端客户端和服务端传输文件,在前端可以直接下载源文件

    本篇文章将深入探讨如何在Flask前端客户端和服务端之间传输文件,并允许用户直接在前端下载源文件。 首先,我们需要理解Flask中的文件处理机制。当客户端(通常是Web浏览器)向服务器发送文件时,通常会通过HTTP的...

    Spring2.5MVC--基于注解的附件上传

    这篇博客"Spring2.5 MVC -- 基于注解的附件上传"详细介绍了如何在Spring MVC 2.5中实现这一功能。 首先,我们需要了解Spring MVC中处理文件上传的基本概念。文件上传主要涉及到两个组件:`MultipartResolver`和`@...

    PHP+Mysql+jQuery实现发布微博程序--PHP篇

    `images`目录则用于存储用户上传的图片或者其他媒体资源,可能包括微博中的图片附件。 总的来说,这个项目涵盖了Web开发中的基础元素,包括前端交互、后端处理和数据库管理。通过这样的实践,开发者可以更深入地...

    在程序中实现上传附件的代码

    总的来说,实现上传附件功能需要前端与后端的协同工作,前端负责文件的选择和预览,后端负责文件的接收、存储以及数据的持久化。理解这一过程对于开发任何涉及文件上传的应用都是至关重要的。在实际开发中,还要考虑...

    多附件上传

    本篇文章将深入探讨多附件上传的核心知识点,包括其原理、实现方式以及相关的前端和后端技术。 首先,我们要理解多附件上传的基本原理。传统的HTTP协议并不支持多文件并发上传,因此在早期的网页设计中,如果需要...

    多图片上传和取消上传(基于框架)

    本篇将重点讲解如何实现基于HTML5的多图片上传及取消上传的机制。 在HTML5中,File API的引入使得直接在浏览器端处理文件变得可能,包括读取、写入和上传文件。多图片上传的核心在于`&lt;input type="file"&gt;`元素的`...

    前端学生作业毕设实训素材-响应式博客新闻主题模板(自适应手机端).rar

    这篇文档将深入解析标题"前端学生作业毕设实训素材-响应式博客新闻主题模板(自适应手机端)"以及描述中提到的知识点,并结合压缩包内的文件名称列表进行详细阐述。 前端开发是创建网页或应用程序的过程,它涉及用户...

    文件上传的

    这篇博客文章可能详细探讨了实现这一功能的过程,虽然具体内容无法直接获取,但从标题和标签我们可以推测出一些关键知识点。 1. **文件上传原理**: 文件上传涉及到HTTP协议中的POST请求。用户在前端选择文件后,...

    前端学生作业毕设实训素材-辅导培训机构留学教育类企业模板.rar

    这篇教程将围绕“前端学生作业毕设实训素材-辅导培训机构留学教育类企业模板.rar”这一主题,深入探讨其中涉及的前端开发技术、毕业设计过程以及相关资源。首先,这个压缩包是一个前端应用的源码集合,特别适用于...

    android文件上传控件

    本篇将详细讲解如何在Android中实现文件上传,并结合“亲测可用”的控件来探讨具体实践。 首先,我们需要了解Android中的文件操作。Android系统提供了一系列API,允许开发者读取、写入和管理本地文件。例如,你可以...

    jsp实现kindeditor在线编辑器可上传图片,附件源码献上

    **图片和附件上传的实现** 1. **配置KindEditor**: 首先,需要在项目中引入KindEditor的JavaScript库和CSS样式文件。在编辑器的初始化时,配置上传功能,通常包括设置URL(服务器端接收上传请求的地址)、允许的文件...

    java中jsp上传附件的控件

    本篇将详细介绍如何在Java JSP中实现文件上传,以及如何处理上传的附件。 首先,让我们理解文件上传的基本原理。在HTML表单中,我们可以使用`&lt;input type="file"&gt;`标签让用户选择本地文件进行上传。然而,JSP本身并...

    前端学生作业毕设实训素材-金黄色金融投资信息类企业模板.rar

    这篇教程将围绕“前端学生作业毕设实训素材-金黄色金融投资信息类企业模板.rar”这一主题,深入探讨其中涉及的前端开发知识点。这个压缩包包含了一套完整的前端应用源码,非常适合学生作为毕业设计的学习资源。让...

    前端学生作业毕设实训素材-大气互联网服务机构类企业公司模板(带wap).rar

    这篇教程将围绕“前端学生作业毕设实训素材-大气互联网服务机构类企业公司模板(带wap).rar”这一主题,深入探讨相关知识点,帮助你理解和掌握前端开发中的关键技术和实践。 一、前端源码与毕业设计 前端源码是构建...

    前端学生作业毕设实训素材-环境与社会发展中心部门企业网站模板.rar

    这篇文档将深入解析标题为"前端学生作业毕设实训素材-环境与社会发展中心部门企业网站模板.rar"的压缩包文件中的关键知识点,该文件主要针对前端开发的学习者,特别是那些正在进行毕业设计的学生。这个资源包括了一...

    vue上传和下载前后台开发

    本篇文章将详细介绍如何利用Vue.js作为前端框架结合Java后端实现文件的上传功能。 #### 二、前端Vue.js部分 **1. 文件选择与读取** 前端主要通过HTML5的`input`标签实现文件的选择,再通过JavaScript处理用户选择...

    jsp中js上传组件的使用

    这篇博客文章将深入探讨如何在JSP中集成并使用JS上传组件。 首先,我们要了解JavaScript的作用。JS是一种客户端脚本语言,主要负责处理用户交互、验证表单数据以及动态更新网页内容。在上传组件中,JS通常用来提供...

    plupload附件上传

    这个2.3.1版本提供了稳定的上传功能,并且兼容性良好,适合用于网页中的附件上传需求。在本篇文章中,我们将深入探讨Plupload的工作原理、特性以及如何在项目中集成和使用它。 1. **工作原理** Plupload 使用Flash...

Global site tag (gtag.js) - Google Analytics