#1 【心得】Google Script+雲端硬碟=免費架檔案上傳系統

發表:2017-03-10 19:55:37看他的文開啟圖片

chibaby1231(騏騏)

【重點摘要】
本篇文章分享基於 Google Apps Script + Google 雲端硬碟
免費建置可匿名上傳檔案的上傳系統。


【前言】為什麼要做這個...
小妹我因為最近工作上有需要建置「檔案上傳系統」系統的需求
但是一來沒有經費,二來這個系統做好後,也不是我的業務範圍
(會直接整個交付給需要使用的單位)
所以簡單來說,需要在「免費」,而且「操作簡單」的前提下完成

【資源調查研究】
目前以「上傳系統」這個概念來說,實作方法不外乎:

1. 抓一台機器架 FTP
   讓 user 用網頁或 FTP 軟體上傳檔案
   後台再利用 FTP 軟體或網頁,把所有上傳的檔案整個抓下來

   缺點
     (1) user 在上傳檔案時,會看到其他人上傳的檔案,不符合需求單位的預期
     (2) 使用帳號/密碼或匿名登入,及使用 FileZilla 等 FTP 軟體
          對於非資訊人員來說,這些都是屬於「需要學習」的特殊技能
          且檔案最後需在 Android 平版及 iPad 上呈現,目前還未確認 FileZilla 可否支援

2. 用 NAS 架雲端硬碟
   讓 user 用網頁上傳檔案,後台同樣利用網頁下載及管理檔案

   缺點
     (1) 同 1.,有資料夾的上傳權限,就有瀏覽權限
     (2) 操作難易度比 1. 簡單
          但在後台管理上,尚未確認 NAS 上的檔案是否可直接透過瀏覽器開啟觀看
          還是需要把檔案下載後,再用平板或 iPad 的 App 來開啟觀看

3. 架一個 Apache Server
   直接用 PHP 寫一個上傳畫面,讓 user 不需登入即可上傳檔案
   上傳資料直接丟在 Server 本機的磁碟目錄下,後台在登入 Server 後再直接抓下來

   缺點
    (1) 「登入 Server」對非資訊人員來說,這幾個字看起來就不是自己有生之年能搞懂的事情
        等於系統架好後,下載、備份或彙整檔案的工作沒辦法整包交給負責單位
        不然就是要花時間再寫一個 view 的頁面,讓負責單位可以上去瀏覽上傳狀態並下載檔案
    (2) 多一台要管理的 Server =口=|||
        同 (1),就算是架在虛擬機裡還是多了一件麻煩事

4. Google 表單
   利用 G suite(包含 Google for Education)的表單,開一個「檔案上傳」類型的問題
   讓 user 填寫基本資料及上傳檔案。

   缺點
      一定得是「同機構」內的使用者才能填表,也就是一打開表單就得登入
      登入後還要是同機構的,才能填寫,不符合使用單位匿名上傳的需求

※ G suite 表單在檔案上傳部份,包含設定限制檔案大小、檔案類型、檔案數量等
   其實功能上非常完備,若是公司內部使用,尤其平常都已經登入,那麼應該就沒什麼影響
   而且也能避免其他人亂入,亂丟檔案進來

【總 結】
為了解決「上傳者不能看到其他人的檔案」的問題
勢必得做一個上傳畫面,單純只能做上傳動作
又為了解決「系統做好後就可以整包丟出去」的理想,在多方拜 Google 大神
發現【 Google Apps Script + Google 雲端硬碟 】非常完美的解決了這個問題!

前台與 Server 部份
透過 Google Apps Script 控制上傳畫面
(充當 PHP 及 Server 的效用,還不用自己架 & 管理 Server)
把上傳的檔案直接丟進 Google 雲端硬碟中
(儲存空間在雲端,也不用自己管理,Google 的安全性也算可信任)
根據參考資料中的測試,單個上傳檔案據說 200MB 以下都 OK

後台管理部份
因為是 Google 雲端硬碟,建好之後,只要把上傳檔案的資料夾共享出來
負責單位也能自行操作,另外 Google 雲端硬碟在行動裝置上開啟檔案也沒問題

透過 Google Apps Script 製作上傳系統的詳細操作方式可參考以下連結:

備註:
1. 由於小妹服務的地方是學校單位,所以用「模擬面試用的 備審資料上傳系統」作為範例說明
2. 內有完整原始碼可直接複製使用
3. 經測試,此分享中的上傳系統,手機瀏覽上傳檔案,功能上都是沒有問題的
    不過介面上沒有完全做到 RWD,也就是用手機看的時候還需要放大
    所以如果有此需要的,再麻煩自行另外修改 CSS 囉

以上分享,若有錯誤之處,還請不吝指正。
最後編輯:2017-03-10 19:55:37 ◆ Origin: <1.171.61.xxx>

顯示稍舊的 7 則留言

#2 RE:【心得】Google Script+雲端硬碟=免費架檔案上傳系統

發表:2017-03-11 21:39:42看他的文開啟圖片

chibaby1231(騏騏)

感謝各位版有的留言與回覆,以下試著解答各提問:

1. 上傳總量限制
基本上「上傳總量限制=你的雲端硬碟空間」沒錯
不過雲端硬碟空間是會包括 Google 雲端硬碟上的檔案 + Gmail 等一起計算的
又一般免費使用者的總容量是15GB(參考來源:雲端硬碟儲存空間
所以能讓其他人上傳的總量會在15GB以下

不過若是使用Google for Education(俗稱教育版或校園版Google)
雲端硬碟容量則是無限
所以以學校單位來說,可以免於考量這個問題

2. 單一檔案大小限制
我還沒有實際做過壓力測試,不過

(1) 根據 述文老師學習網 測試,「單一檔案 25MB 以內,都可以正常上傳」
※ 猜測:以一般免費版Google服務來說,這個測試可能跟Gmail在夾帶檔案時的大小限制有關

(2) 根據 軟體玩家,「實際測試的結果,傳個 200MB 的檔案也不成問題」

根據以上測試結果,再加上以下測試

(3) 以G suite中Google表單的「上傳檔案」功能來說,單一檔案大小限制連「10GB」都能選
應該是可以推測,在上傳總量許可的情況下,幾乎可以說是沒有限制了吧...


3. 上傳次數限制
根據 Google Apps 指令碼資訊主頁 的配額限制資訊

以本篇分享中,單一檔案的上傳系統來說,其實動作並不複雜
(沒有像是把Google試算表當資料庫在操,工作表跟欄位多,又要讀取又要寫入)

完成工作的速度效能(從使用者選好檔案按上傳,到真的傳好,顯示完成訊息)
以及上傳檔案的次數問題,推測應該是只要不要太多人「同時」擠著要上傳
能分多個時段或多天,分散開來使用
以一般個人或中小型單位的使用來說,應該都還算足夠

以上,希望有回答到目前的各項問題 :)
若還有其他問題,也歡迎繼續討論,讓這個主題能更加完整 ヽ(✿゚▽゚)ノ
最後編輯:2017-03-11 21:39:42 ◆ Origin: <61.230.159.xxx>

顯示稍舊的 4 則留言

#3 RE:【心得】Google Script+雲端硬碟=免費架檔案上傳系統

發表:2017-04-09 16:05:23看他的文開啟圖片

dirtypig8(野)

目前測試要上傳1G檔案都卡住欸
有人知道一次可以上傳多大的檔案嗎?
最後編輯:2017-04-09 16:05:23 ◆ Origin: <122.116.50.xxx>

快速回覆文章,請先登入

哈啦板列表及文章頁
實驗開催中

板務人員:

1297 筆精華,07/04 更新
一個月內新增 1
歡迎加入共同維護。


face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】