- 浏览: 834826 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
如何上传多个文件
https://github.com/blueimp/jQuery-File-Upload/releases
上面这个类库
blueimp/jquery-file-upload
可以上传多个文件,主要靠jquery工作。
下载地址:
https://github.com/blueimp/jQuery-File-Upload/releases
当前版本9.18.0,下载zip即可。
该js类库主要内容:
一个牛掰的服务端php文件。
一整套客户端js和css上传框架。
把项目下载下来,文件夹重命名(例如jquery_upload),放在web目录下。
1、删除
删除angularjs.html, basic-plus.html, basic.html, jquery-ui.html
删除server / gae-go, 删除 server / gae-python
2、修改google相关js。
必须改,否则被墙。
index.html : line 219
把
//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
改成
https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js
=====
cors/postmessage.html : line 18
把
//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js
改成
https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js
3,去除index.html页面多余的内容
其实现在已经可以使用了!
去除 line 27
<link rel="stylesheet" href="css/style.css">
去除line 38 -57 ,body下的第一个大div
去除41 - 54 ,从h2 到 blockquote结束。
去除line 85 -99,Demo Notes
现在看上去好多了。
4) 中文文件名问题。因为原代码会因为汉字文件名上传错误。
假设不保留原文件名,这样比较简单一些。
修改 server / php / UploadHandler.php
修改 trim_file_name函数
函数结尾前加一行
$name = uniqid();
使得新文件名 总是等于随机数。
5、每次刷新index.html,总是把上传目录下所有已上传文件都显示出来,这样不好不安全,应该是刷新后,不要主动读取服务端的目录。
修改 js / main.js
注释line 60 - 72
6、修改文件上传路径
必须修改,否则总是与代码混一起。
假设web目录下有upload文件夹。
我的web目录是D:\workspace\play\public\
希望每天上传的图片是在此下面。且按天生成文件夹。
例如
D:\workspace\play\public/upload/files/20170617/1497676512-819.jpeg
修改server / php / UploadHandler.php
line 47,48改为
代码中,文件夹是自动生成的,只要配置好就行。无需操心。
7、限制只有图片能上传,以及大小。
修改server / php / UploadHandler.php
line 93,96
改为
服务端上传限制请参考
单个文件上传
8,加入数据库
没添加一个图片,就插入数据库
首先,我本机建表
修改server / php / UploadHandler.php
第1行加入:
require_once ("../../../../vendor/autoload.php");
构造方法下加入
handle_file_upload方法中修改
让客户端显示图片id
修改index.html
line 142
让删除也完成,修改delete方法,只加一句话。
9) 生成多个缩略图
修改构造方法中的设置,这样,会生成另一个文件夹,注意,键名即文件夹名称。
https://github.com/blueimp/jQuery-File-Upload/releases
上面这个类库
blueimp/jquery-file-upload
可以上传多个文件,主要靠jquery工作。
下载地址:
https://github.com/blueimp/jQuery-File-Upload/releases
当前版本9.18.0,下载zip即可。
该js类库主要内容:
一个牛掰的服务端php文件。
一整套客户端js和css上传框架。
把项目下载下来,文件夹重命名(例如jquery_upload),放在web目录下。
1、删除
删除angularjs.html, basic-plus.html, basic.html, jquery-ui.html
删除server / gae-go, 删除 server / gae-python
2、修改google相关js。
必须改,否则被墙。
index.html : line 219
把
//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
改成
https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js
=====
cors/postmessage.html : line 18
把
//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js
改成
https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js
3,去除index.html页面多余的内容
其实现在已经可以使用了!
去除 line 27
<link rel="stylesheet" href="css/style.css">
去除line 38 -57 ,body下的第一个大div
去除41 - 54 ,从h2 到 blockquote结束。
去除line 85 -99,Demo Notes
现在看上去好多了。
4) 中文文件名问题。因为原代码会因为汉字文件名上传错误。
假设不保留原文件名,这样比较简单一些。
修改 server / php / UploadHandler.php
修改 trim_file_name函数
函数结尾前加一行
$name = uniqid();
使得新文件名 总是等于随机数。
5、每次刷新index.html,总是把上传目录下所有已上传文件都显示出来,这样不好不安全,应该是刷新后,不要主动读取服务端的目录。
修改 js / main.js
注释line 60 - 72
6、修改文件上传路径
必须修改,否则总是与代码混一起。
假设web目录下有upload文件夹。
我的web目录是D:\workspace\play\public\
希望每天上传的图片是在此下面。且按天生成文件夹。
例如
D:\workspace\play\public/upload/files/20170617/1497676512-819.jpeg
修改server / php / UploadHandler.php
line 47,48改为
'upload_dir' => "D:/workspace/play/public/upload/files/". date("Ymd") ."/", 'upload_url' => "/upload/files/". date("Ymd")."/" ,
代码中,文件夹是自动生成的,只要配置好就行。无需操心。
7、限制只有图片能上传,以及大小。
修改server / php / UploadHandler.php
line 93,96
改为
'accept_file_types' => '/\.(gif|jpe?g|png)$/i', // The php.ini settings upload_max_filesize and post_max_size // take precedence over the following max_file_size setting: 'max_file_size' => 5* 1000 * 1000, // 5M 大小限制
服务端上传限制请参考
单个文件上传
8,加入数据库
没添加一个图片,就插入数据库
首先,我本机建表
CREATE TABLE pics ( id int(10) unsigned NOT NULL AUTO_INCREMENT, pic_dir varchar(255) not null default '' comment '类似D:/play/public/upload/files/1497676512-819.jpeg', pic_name varchar(255) not null default '' comment '类似1497676512-819.jpeg', thumb_dir varchar(255) not null default '' comment '缩略图D:/play/public/upload/files/thumbnail/1497676512-819.jpeg', created_at int not NULL DEFAULT 0 comment '创建时间', news_id int not NULL DEFAULT 0 comment '文章id', size int not null default 0 comment '文件大小,单位字节', PRIMARY KEY (id), index pic_name(pic_name), index pic_dir(pic_dir) ) ENGINE=MYISAM
修改server / php / UploadHandler.php
第1行加入:
require_once ("../../../../vendor/autoload.php");
构造方法下加入
$config = new \Doctrine\DBAL\Configuration(); $connectionParams = array( 'dbname' => 'test1', 'user' => 'root', 'password' => 'root', 'host' => 'localhost', 'driver' => 'pdo_mysql', ); $conn = \Doctrine\DBAL\DriverManager::getConnection( $connectionParams, $config); $this->db = $conn;
handle_file_upload方法中修改
} else { // Non-multipart uploads (PUT method support) file_put_contents( $file_path, fopen($this->options['input_stream'], 'r'), $append_file ? FILE_APPEND : 0 ); } $this->db->insert('pics', array( 'pic_dir' => $file_path, 'pic_name' => $file->name, 'created_at'=> time(), 'size'=> $file->size, 'thumb_dir'=>preg_replace('#^(.+?)/[^/]*$#', '$1', $file_path) ."/thumbnail/".$file->name, )); $file->id = $this->db->lastInsertId(); $file_size = $this->get_file_size($file_path, $append_file); if ($file_size === $file->size) { $file->url = $this->get_download_url($file->name); if ($this->is_valid_image_file($file_path)) { $this->handle_image_file($file_path, $file); } } else {
让客户端显示图片id
修改index.html
line 142
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%} 图片id:{%=file.id%}</a>
让删除也完成,修改delete方法,只加一句话。
$success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path); if ($success) { // 数据库删除 $this->db->delete('pics', array('pic_dir' => $file_path)); foreach ($this->options['image_versions'] as $version => $options) { if (!empty($version)) { $file = $this->get_upload_path($file_name, $version); if (is_file($file)) { unlink($file); } } } } $response[$file_name] = $success;
9) 生成多个缩略图
修改构造方法中的设置,这样,会生成另一个文件夹,注意,键名即文件夹名称。
'thumbnail2' => array( 'max_width' => 180, 'max_height' => 180 ), 'thumbnail' => array( 'max_width' => 80, 'max_height' => 80 )
- original_jquery_upload.7z (63.5 KB)
- 下载次数: 2
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 709本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 853centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1256本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1481列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 521期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1130ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 821一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 648coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 910deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 650假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 921php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 966php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 673根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 833phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 424如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 781方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 835在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 700整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 895最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
1. **多文件上传**:jQuery File Upload支持同时上传多个文件,用户可以通过选择多个文件来一次性上传,提高了上传效率。 2. **实时预览**:对于图片文件,插件可以提供实时预览功能,用户在上传前就能看到文件的...
《jQuery-File-Upload在ASP.NET MVC中的应用详解》 在Web开发中,文件上传功能是必不可少的一部分,尤其是...总的来说,jQuery-File-Upload与ASP.NET MVC的结合,为我们提供了一个强大且易于使用的文件上传解决方案。
前端项目-blueimp-file-upload,具有多个文件选择、拖放支持、进度条、验证和预览图像、用于jquery的音频和视频的文件上载小部件。支持跨域、分块和可恢复文件上载。与支持标准HTML表单文件上传的任何服务器端平台...
jQuery的文件上传插件blueimp-jQuery-File-Upload(以下简称blueimp插件)是一个强大的解决方案,它允许用户通过HTML5 File API进行多文件上传,并且对不支持该API的浏览器提供了回退机制。这个插件具有高度可定制性...
安装将此行添加到应用程序的 Gemfile 中: gem 'jquery-file-upload'然后执行: $ bundle或者自己安装: $ gem install jquery-file-upload配置创建一个名为/config/initializers/jquery_file_upload.rb的新文件 ...
`jQuery File Upload`是一个强大的前端文件上传插件,它允许用户在网页上实现多文件选择、进度条显示、预览、删除等功能,极大地提升了用户体验。本文将详细介绍这个工程的使用方法及其核心原理。 ### 一、jQuery ...
总之,jQuery File Upload插件为开发者提供了一种便捷、功能丰富的文件上传解决方案,通过它可以轻松地在网页上实现高质量的文件上传体验。在实际应用中,开发者可以根据自己的需求对插件进行定制,以满足特定项目的...
首先,我们关注的核心是`blueimp-jQuery-File-Upload`这个库,它是jQuery的一个强大插件,专门用于文件上传。在`f6c5358`这个版本中,包含了完整的代码和资源,可以方便地集成到项目中。该插件不仅支持单个文件的...
jQuery File Upload 是一个Jquery文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。 官网链接:...
在本文中,我们将深入探讨如何使用Ajax、jQuery和PHP实现文件上传功能,特别是在结合blueimp-jQuery-File-Upload插件的情况下。这个解决方案提供了一个优雅的界面,使得用户可以无刷新地上传文件,大大提升了用户...
BlueImp jquery-file-upload的包装器在很大程度上影响了该项目的Dominic Bottger的分支。 用法 npm install fng-jq-upload 要在您的node_modules的顶层获得所有依赖关系,请运行 npm dedupe 在服务器端: 安装以...
易于使用的服务/库可用于分块上传,在Laravel的文件上传之上还支持多个JS库,并且内存占用率低。 支持,自动清理计划和易于使用的功能。 带有集成测试的示例存储库可以在。 在添加请求请求之前,请阅读CONTRIBUTION...
#= require blueimp-file-upload/jquery.iframe-transport #= require blueimp-file-upload/jquery.fileupload #= require medium-editor-insert-plugin/medium-editor-insert-plugin #= require rangy/rangy-core....
jQuery File Upload: http://blueimp.github.io/jQuery-File-Upload/ jQuery-Knob: http://anthonyterrien.com/knob/ Simple Line Icons: http://graphicburger.com/simple-line-icons-webfont/ Morris Chart: ...
7. **蓝imp jQuery 文件上传插件**:`blueimp-jQuery-File-Upload`是jQuery的一个知名插件,提供了一套完整的文件上传解决方案,包括多文件选择、预览、进度条、错误处理等功能。在项目中使用这个插件,可以大大简化...
用于Yii2的BlueImp文件上传小部件 呈现一个。 该插件集成了多个文件选择,拖放支持,进度条,图像验证和预览。 安装 安装此扩展的首选方法是通过 。 无论运行 $ composer require 2amigos/yii2-file-upload-widget...
"blueimp-jQuery-File-Upload-52417a8"压缩包包含的是blueimp的jQuery File Upload插件,这是一个强大的、高度定制的文件上传解决方案。它支持多文件选择、文件预览、进度条显示、响应式设计等功能。这个插件使用...
标题中的“PHP+jQuery带进度条和删除的异步多文件上传插件”是指一个结合了PHP后端处理和jQuery前端交互的文件上传解决方案。这个插件具备了现代Web应用中用户期望的功能,如实时进度反馈、多文件选择以及文件上传后...
Expressjs 和 jQuery 文件上传 使用blueimp-file-upload-expressjs节点模块的示例 演示: : 教程: : 安装 下载或克隆这个 repo 运行npm install 运行node bin/www 用于调试消息 运行DEBUG=express:* node app...