博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python...
阅读量:6506 次
发布时间:2019-06-24

本文共 2153 字,大约阅读时间需要 7 分钟。

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://www.cnblogs.com/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. 实现原理利用对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用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上传图片 文件

 

 

 

你可能感兴趣的文章
android实现图片识别的几种方法
查看>>
mvc学习地址
查看>>
masonry 基本用法
查看>>
Word产品需求文档,已经过时了【转】
查看>>
dtoj#4299. 图(graph)
查看>>
zabbix-3.4 触发器
查看>>
换用代理IP的Webbrowser方法
查看>>
【视频编解码·学习笔记】7. 熵编码算法:基础知识 & 哈夫曼编码
查看>>
spark集群安装部署
查看>>
MySql 查询表字段数
查看>>
mariadb 内存占用优化
查看>>
Centos7安装编译安装zabbix2.219及mariadb-5.5.46
查看>>
怎么获得combobox的valueField值
查看>>
浅谈网络协议(四) IP的由来--DHCP与PXE
查看>>
jre与jdk的区别
查看>>
全景图的种类
查看>>
git 维护
查看>>
jfinal框架下使用c3P0连接池连接sql server 2008
查看>>
Jfinal Generator 不需要生成带某个前缀的表名数组的方法
查看>>
struts2中使用标签操作静态方法等
查看>>