分類
好用軟體

Google表單上傳檔案

最近在填寫商場活動表單時, 需要上傳發票檔案, 才發現原來 Google 表單也可以上傳檔案, 於是動手來試試.

新增一個表單, 然後在題型這裡選擇-檔案上傳, 會跳出一個提示:

作答者可將檔案上傳到雲端硬碟

檔案會上傳到表單擁有者的 Google 雲端硬碟。在表單中新增檔案上傳問題後,作答者必須登入 Google 才能回答問題。請務必只與你信任的對象共用這份表單。

看起來可以上傳檔案, 不過需要有 google 帳號且登入 google 帳號的狀況下才能上傳.

而上傳空間也預設總量為 1GB (此限制為1張表單內的使用空間量), 量到後也會停此收集這個表單作答. 網路上查了一下, 原來在 2017 年時, 就有這個功能了, 真是後知後覺, 沒關係, 還是動手來做一下:

https://forms.gle/GhpXvKrUEQEzLQhJ6

應用在做問卷時, 需要拍照, 或是上傳文件, 非常方便實用的一個表單功能.

PS. 用戶上傳的檔案會佔用自己的 google drive 空間, 並且以新開一個目錄的方式來收集檔案. 收集的檔案名稱最後會附加上用戶的google帳號名稱(display name), 雖然會佔用空間, 但也是確保能有效收集到檔案的方式, 在使用上要留意自己的空間是否充足. (如下圖, 擁有者都會是自己)


繼續閱讀:

https://diary.tw/archives/684

https://www.thenewslens.com/article/73365

分類
Javascript

表單上傳檔案取得檔名問題

在前端網頁上, 若要上傳檔案, 是利用一個 <input type=file>的標籤來進行的, 這個 UI 看起來的長像在不同瀏覽器會有不同的結果, 也因為這樣, WEB DESIGNER 常常需要做一些設計來美化及一致化這個長相.

這篇文章不是在討論這個上傳檔案的長相, 而是要探討在前端程式碼取出上傳檔案的名稱, 這個也在不同的瀏覽器有不同的結果, 尤其新的瀏覽器又增加了一些特異功能. (如隱藏路徑)

這樣一來, 若是要對上傳檔案名稱欄位取出做一些判斷的話, 可要注意這些狀況的差異, 這裡寫了個小程式, 取出 <input type=file>的值, 在不同瀏覽器下可以測出不同的結果, 連結在這裡:

http://sample.diary.tw/25

我們以上傳 C:\test\1.txt 為例, 在不同瀏覽器下的結果如下:

IE9:
Firefox 4.01
Google Chrome 5:
Safari 5:
從上面畫面的結果來看, 發現 IE9 及 Google Chrome 會有含路徑的檔名, 但會隱藏路徑, 而 Firefox 4.01及 Safari 5則只會出現檔名而已, 不會有路徑, 而 IE6, IE7, IE8 的狀況則是 IE8 會像 IE9 一樣, 但 IE7, IE6 則是真實的檔案路徑, 如下:

IE6:
IE7:
IE8:
這樣就清楚啦!

分類
程式技術

TatterTools中的Flash Upload安全性問題

由於 flash 在 10版之後, 透過 flash upload 的安全性有提升了, 不能使用 javascript 去呼叫 flash 的 select upload file dialog box, 所以在 TatterTools 中的發表文章的上傳組件就會因此失效.

解決的方式其實也就是把 browser 的 flash 降級成 flash 9 的版本, 但這個很怪, 因為有新版 flash 不用, 要去用舊的, 而若是升到 flash 10 又要能上傳的話, 一個是 disable browser 的 flash 功能, 但這個也很怪, 另一個則是修改一下 TatterTools 的編輯後台中的 upload module 讓 flash 失效即可.

其實 TatterTools 後台, 使用 flash upload 可以做多檔 upload, 但若沒有透過 flash 的話, 則是走 web upload , 一次只能上傳一個檔案, 雖然會比較麻煩, 不過也算是還可以的解決方案.

需要修改的地方有兩個, 一個是在新發表文章的 /blog/owner/entery/post/index.php 調查其中關鍵字: hasRightVersion , 全文是:

var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

在下面加一行 hasRightVersion = false; 即可.

另一個位置是在修改文章的 /blog/owner/entry/edit/item.php , 一樣調查關鍵字 hasRightVersion, 一樣在偵測 flash version 後, 把該變數設為 false 即可.

修改好後, 在文章編輯後台的上傳區就會是單檔上傳的介面, 如下:
這樣一來就可以順利使用單檔上傳, 也避開了 flash 10 版安全性問題了!