採用Docker整合jquery-file-upload元件到WEB應用
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.html
CMD ["/usr/bin/supervisord"]
其中,Dockerfile中的index.html檔案,是為了漢化docker映象中的index檔案。
4.2,docker-compose.yml
docker-compose中配置了3個容器,對外提供檔案上傳介面,分別對應伺服器的info, nav, pos目錄。
version: `2`
services:
fileupload1:
build: ./FileUpload
ports:
- 8010:80
- 22
volumes:
- /usr/local/upload/info:/var/www/upload/server/php/files
restart: "always"
fileupload2:
build: ./FileUpload
ports:
- 8011:80
- 22
volumes:
- /usr/local/upload/nav:/var/www/upload/server/php/files
restart: "always"
fileupload3:
build: ./FileUpload
ports:
- 8012:80
- 22
volumes:
- /usr/local/upload/pos:/var/www/upload/server/php/files
restart: "always"
目錄結構:
- docker-compose.yml
- FileUpload/
---- Dockerfile
---- index.html
4.3 執行
$ docker-compose up --build
參考
原文地址:http://kekefund.com/2017/06/15/jquery-file-upload-docker/
相關文章
- docker stack滾動更新web應用DockerWeb
- Web應用元件化的權衡Web元件化
- 【轉】Docker部署Tomcat及Web應用DockerTomcatWeb
- Web應用的元件化開發(一)Web元件化
- Web應用的元件化開發(二)Web元件化
- SpringBoot應用整合微服務元件NacosSpring Boot微服務元件
- [譯] Web 應用的未來:Heroku vs DockerWebDocker
- DOCKER應用Docker
- Web元件 – 構建商業化應用的基石Web元件
- 用 Docker 建立 serverless 應用DockerServer
- 應用元件元件
- HT for Web整合OpenLayers實現GIS地圖應用Web地圖
- Win10 下安裝 docker,部署 Web 應用Win10DockerWeb
- Web應用Web
- 【機器學習】--整合演算法從初始到應用機器學習演算法
- 如何把Qlik Sense嵌入到Web應用中Web
- ECharts整合HT for Web的網路拓撲圖應用EchartsWeb
- 如何在docker中部署springboot的web應用DockerSpring BootWeb
- 如何把 Java Web 應用放在 docker 容器中執行JavaWebDocker
- Docker_Docker應用部署4Docker
- Maven Web 應用MavenWeb
- Web小應用Web
- Web應用程式Web
- Web應用的元件化開發(一)——基本思路Web元件化
- HarmonyOS:基於Web元件構建網路應用(1)Web元件
- Docker(1):初體驗之應用掛載到容器Docker
- Docker從瞭解到部署應用的詳細教程Docker
- java應用docker化JavaDocker
- Docker部署Angular應用DockerAngular
- docker 打包 php 應用DockerPHP
- 應用容器引擎-DockerDocker
- Springboot整合MongoDB的Docker開發,其它應用也類Spring BootMongoDBDocker
- React元件及應用React元件
- dockerSSH用ssh連線到dockerDocker
- 用Spring Web Flow和Terracotta搭建Web應用SpringWeb
- 使用Nginx將大模型Web應用部署到公網Nginx大模型Web
- Web應用的元件化開發(二)——管控平臺Web元件化
- 關於WEB應用程式的列印元件開發初探 (轉)Web元件