欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-18 16:38:46
...
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 cs 2

1 .6. 带进度条 2

1 .7. 完成提示动画效果 .. 2

2 . 标准化 api 属性 2

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

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

5 . Php 的实现 4

5 .1. Java 与 php 的不同点 4

6 . AtiUpload 5

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 属性

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 的实现

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

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. Java 与 php 的不同点

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

Jva 的直接 stream 写入

6. AtiUpload

7. 参考

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

atitit.jquery ajax html5 上传图片 文件