Atitit  文件上传  架构设计 实现机制 解决方案  实践java php c#.net js javascript  c++ python

Atitit  文件上传  架构设计 实现机制 解决方案  实践java php c#.net js javascript  c++ python

 

 

1上传的几点要求2

1.1. 本地预览2

1.2. 2 无刷新2

1.3. 3 进度显示2

1.4. 断点续传2

1.5. bs  cs2

1.6. 带进度条2

1.7. 完成提示动画效果..2

2标准化api属性2

3实现原理利用FormData对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单".3

4如果需要显示进度条,实时显示文件上传进度 需要使用Ajaxj技术..up到个在的iframe黑头.. 工作原理 其实际就是在处理上传文件的同时,将上传进度的信息例如文件总长吨,已经上传多少,传输速率写入session中,客户端游览器 利用Ajax技术再新开一个独立的进程从session中获取上传进度信息,并实时显示,Ajax技术能够 不刷新页面获取服务器数据。session 可看做是服务器内存,可以用于存放少量的客户信息。3

5Php的实现4

5.1. Javaphp的不同点4

6AtiUpload5

7参考5

 

 

1. 上传的几点要求

1.1. 本地预览

1.2. 2 无刷新

1.3. 3 进度显示

1.4. 断点续传

1.5. bs  cs

1.6. 带进度条

1.7. 完成提示动画效果..

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax akbar al rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

2. 标准化api属性

<iframe id="upIfrm" src="../com.attilax/upload/up.jsp?fld=${COLUMN_NAME}" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="width:100%; height:100px"></iframe>

Fld指定回填的textbox名称

callbackQ11默认回答函数

Callback 指定回调函数

3. 实现原理利用FormData对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单".

这个是XMLHttpRequest 2.0提供的一个类

 

你还可以使用jQuery来发送FormData,但必须要正确的设置相关选项:

4. 如果需要显示进度条,实时显示文件上传进度
需要使用Ajaxj技术..up到个在的iframe黑头..
工作原理
其实际就是在处理上传文件的同时,将上传进度的信息例如文件总长吨,已经上传多少,传输速率写入session中,客户端游览器
利用Ajax技术再新开一个独立的进程从session中获取上传进度信息,并实时显示,Ajax技术能够 不刷新页面获取服务器数据。session
可看做是服务器内存,可以用于存放少量的客户信息。

 

 

上传监听器
commons-fileupload版1.2支持上传监听,只需要实现一个监听器,并把它添加到上传组件上即可。监听器需要实现它的progresslistener

 

 

5. Php的实现

这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:

<?php

if (isset($_POST['upload'])) { 

var_dump($_FILES);

////第三个参数是“true”表示能创建多级目录,iconv防止中文目录乱码

 

//$res=mkdir(iconv("UTF-8", "GBK", $path),0777,true); 

$f=dirname(__FILE__).'/up_tmpx2/'.time().'.jpg';

mkdir(dirname( $f),0777,true); move_uploaded_file($_FILES['upfile']['tmp_name'], $f);

//header('location: test.php');

exit;

 

5.1. Javaphp的不同点

Php需要move内存文件到临时文件

Jva的直接stream写入

 

 

6. AtiUpload

<iframe id="upIfrm" src="../com.attilax/upload/up.jsp?fld=${COLUMN_NAME}" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="width:100%; height:100px"></iframe>

7. 参考

atitit.ajax上传文件的实现原理 与设计 - attilax的专栏 博客频道 - CSDN.NET.htm

atitit.jquery ajax html5上传图片 文件

 

 

posted @ 2016-01-19 00:01  attilaxAti  阅读(25)  评论(0编辑  收藏  举报