1,Docker镜像

jQuery-File-Upload 组件是一个非常好用的文件上传组件,有很多友好的特性:

  • 支持文件多选
  • 拖拽上传
  • 上传进度条
  • 取消上传
  • 图片、音视频预览
  • 纯JS和HTML5代码,不需额外安装插件

服务器端提供了三种部署方式: gae-go、gae-python和php,前两种基于gae,在国内基本被墙了,肯定用不了。php的部署用官方提供的部署方式运行不起来,从dockerhub上找到了一个可用的docker镜像:yaasita/docker-jquery-file-upload,日文?&!OMG。

  • 运行起来:
$ docker run -d -p 22 -p 8033:80 yaasita/docker-jquery-file-upload /usr/bin/supervisord

跟官方给出的Demo是一样的,不过我们需要做下汉化。

2,集成

效果如下:

每个Tab标签对应的是一个地址。

3,WEB前端

html调用modal,modal部分如下,通过3个iframe,请求到服务器端的文件上传接口。

<!-- 导入modal -->
<div class="modal fade" id="importModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div style="margin-top:10%;">
<div class="modal-dialog" style="min-width:600px;width:60%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h2 class="modal-title" id="myModalLabel" style="font-size:18px;">
数据导入
</h2>
</div>
<div class="modal-body" id="upLoad">
<ul id="labUl" class="labelUl" style="float:none;">
<li id="basicInfotab" class="Active2"><span>基本信息</span></li>
<li id="netDatatab"><span>净值数据</span></li>
<li id="positionDatatab"><span>持仓数据</span></li>
</ul>
<div id="basicInfoDiv" class="uploadDiv">
<iframe scrolling="yes" src="http://localhost:8010/" class="fileUpload">
</iframe>
</div>
<div id="netDataDiv" class="uploadDiv" style="display:none;">
<iframe scrolling="yes"  src="http://localhost:8011/"  class="fileUpload">
</iframe>
</div>
<div id="positionDataDiv" class="uploadDiv" style="display:none;">
<iframe scrolling="yes" src="http://localhost:8012/"  class="fileUpload">
</iframe>
</div>
</div>
<div class="modal-footer">
<button type="button" class="easy1Btn" id="buttonImportAndCalc">导入&计算
</button>
<!-- <button type="button" id="fileUpload" class="easy2Btn">上传
</button> -->
<button type="button" class="easy1Btn" data-dismiss="modal">关闭
</button>
</div>
<div id="layer"></div>
<div id="onLoad"></div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->

4,服务器端配置

4.1,Dockerfile文件

位置: ./FileUpload/Dockerfile


# Version 0.1# 基础镜像
FROM yaasita/docker-jquery-file-upload# 维护者信息
MAINTAINER cbbing@163.com# 镜像命令
COPY index.html /var/www/upload/index.htmlCMD ["/usr/bin/supervisord"]

其中,Dockerfile中的index.html文件,是为了汉化docker镜像中的index文件。

4.2,docker-compose.yml

docker-compose中配置了3个容器,对外提供文件上传接口,分别对应服务器的info, nav, pos目录。

version: '2'
services:fileupload1:build: ./FileUploadports:- 8010:80- 22volumes:- /usr/local/upload/info:/var/www/upload/server/php/filesrestart: "always"fileupload2:build: ./FileUploadports:- 8011:80- 22volumes:- /usr/local/upload/nav:/var/www/upload/server/php/files restart: "always"fileupload3:build: ./FileUploadports:- 8012:80- 22volumes:- /usr/local/upload/pos:/var/www/upload/server/php/filesrestart: "always"

目录结构:

- docker-compose.yml
- FileUpload/
---- Dockerfile
---- index.html

4.3 运行

$ docker-compose up --build

参考

https://github.com/blueimp/jQuery-File-Upload

原文地址:http://kekefund.com/2017/06/15/jquery-file-upload-docker/

采用Docker集成jquery-file-upload组件到WEB应用相关推荐

  1. 定制jQuery File Upload为微博式单文件上传

    原文链接:http://avnpc.com/pages/single-file-upload-component-by-jquery-file-upload jQuery File Upload是一个 ...

  2. jQuery File Upload

    jQuery File Upload的最简模型 jQuery File Upload包含了一堆文件,首先需要弄清楚的是最核心的部分是哪些,根据官方的例子可以知道,一个最简单的jQuery File U ...

  3. php上传漏洞绕过gd库,jQuery File Upload任意文件上传漏洞

    事件背景 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个JavaScript代码库(或JavaScript框架).jQuery File Upload一个jQ ...

  4. jquery file upload ajax上传图片 简单使用

    为什么80%的码农都做不了架构师?>>>    最近要在做后台的图片上传,要用ajax异步上传图片,原生js实现很难 jquery file upload 插件很轻松就完成了 < ...

  5. jquery file upload 后台收到的文件名中文乱码, filename中文乱码

    在jQuery File Upload.js文件里,在以下这个js中有个成员叫做 _initXHRData, 是一个function, 在这个function的最后部分有一个if-else分支,如下: ...

  6. jQuery File Upload文件上传

    最近在写单文件上传,用jQuery File Upload踩了好多坑,但终于实现了单文件,通过按钮提交. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...

  7. jquery file upload 与 uploadify

    对于图片上传来说有各种js库来帮助实现此功能,常用的包括uploadify和jquery的file upload这两个库. 1.uploadify实现起来比较简单 http://www.uploadi ...

  8. jquery file upload 限制上传文件的格式、大小或图片尺寸

    限制文件格式.大小 $("#head").fileupload({url: "/front/user/uploadHead",dataType: 'json', ...

  9. 简单的python案例_基于python的最简单jQuery File Upload示例

    https://github.c➜ flask-demo tree . ├── app.py ├── static │ ├── 123.txt │ └── file-upload │ ├── angu ...

最新文章

  1. Delphi 的消息机制浅探三
  2. Lesson 2.张量的索引、分片、合并以及维度调整
  3. mysql left join 查询_MySQL联表查询基本操作之left-join常见的坑
  4. 【TensorFlow-windows】keras接口——BatchNorm和ResNet
  5. C++ 拷贝构造函数和赋值运算符
  6. 马斯克称特斯拉可能恢复比特币交易后 比特币价格突破4万美元
  7. redis如何实现分布式重入锁
  8. vuex中actions配合mutation处理axios请求
  9. 目标检测相关概念:IOU,precision, recall, AP, mAP
  10. 27. 二叉搜索树与双向链表(C++版本)
  11. 【水果识别】基于matlab GUI形态学水果识别(含识别率)【含Matlab源码 907期】
  12. php 简易教学管理系统
  13. 麻雀优化算法SSA及其改进策略
  14. 2017秋季赛Web安全测试训练赛wp【安恒】
  15. c语言里10h代表什么,bios 10h中断是什么意思啊?
  16. Java编程序哥德巴赫猜想
  17. SharePoint 2007 制作值班表
  18. 卷积神经网络---卷积层、激励层、池化层以及全连接层
  19. Spring Boot——容器相关配置
  20. vue2.0 - layout组件(五)SideBar和Main页面布局

热门文章

  1. java web 常用工具类_Javaweb常用工具类及配置文件备份
  2. 语言运算顺序题目_我的Python学习笔记:今天我学了关于Python里的运算符及运算顺序...
  3. centos7 cuda测试_CentOS 7 安装 NVIDIA 显卡驱动以及CUDA驱动(自测可用)
  4. 如何在html网页中嵌入一段语法高亮的代码?_工程师私藏的代码比较工具,好用!...
  5. 开红字信息表的时候服务器为空,对方开了红字信息表但系统没有显示怎么办
  6. xgboost通俗_【通俗易懂】XGBoost从入门到实战,非常详细
  7. Python学习笔记:字符串提取和清洗
  8. Python学习笔记:利用sorted()函数对序列排序
  9. 42 可写成成三个整数的立方和
  10. 【codevs1316NOIP2012PJ】文化之旅,无题