各位好
我正在研究opencart3.0.3.7
希望可以將所有圖片上傳的功能
將其圖片上傳到google的firebase storage空間
opencart market沒有看到有人作這種功能的
(公司的需求也是滿奇怪的…)
目前我想到的方法,就是去改寫上傳的程式碼
但opencart會有一個圖片管理器,可以去管理上傳在該專案的圖片
在裡面再作圖片上傳或管理等操作
於是我就想不通、看不懂,要如何去改寫原生的js
若只有商品圖片的話,我可以直接把程式拔掉試著改寫
不過另外還會有文章頁,會用summernote.js的套件
這個是一個文字編輯器的功能,內含上傳圖片
這就更複雜了,就想不到要如何著手
想請問版上的各位高手,是否有什麼辨法可以讓opencart上傳圖片至firebase storage呢?
或者有其他想法的方向可以給我建議轉換個思路呢?
謝謝
其實倒是不奇怪。
我這邊也是處理過opencart的。
雖然我是處理AWS的S3。不是GCP使用的。
基本上來說,你要先去找對應的SDK下載下來使用。
我剛有查了一下。GOOGLE的說明在
https://cloud.google.com/storage/docs/creating-buckets
然後去修改程式。
由於我的檔案處理有額外處理過。掛載了store應用處理。
如果要找直接現成的。我當初有找過的確是沒有。
現在有沒有就不清楚了。畢竟都過了1年半了。
那時我是花3天的時間自已重建了一個模組處理。
(不過因為是公司資產,無法提供給你,且我們用的版本是2。3的話因該會完全不一樣)
請問您是先將檔案上傳到OC專案下的資料夾
再去同步到Firebase嗎?
同步完後再有排程或什麼的,去將Firebase的路徑更新至專案資料庫中這樣嗎?
謝謝> <"
倒也不是這樣子做。
不過要說沒上傳也不能說對。
因為一般後端語言。其檔案上傳都會先放去tmp的目錄上。
然後正常來說,就是從tmp目錄再轉成我們需要的目錄。
且並沒有所謂的同步。
而是在從tmp取回時,就直接再上傳或儲存需要的位置而已。
如果是我來說這個名詞。我並不會用「同步」
而是用「轉發」來處理。
再來,從你的問題來看,似乎你也想要本地也存一份。第三方位置也存一份的樣子。
基本上,你理解的同步是OK的。只是處理的流程不對。
正在上傳的動作。只做單純的轉發處理。
先在本地儲存。但不是拿本地儲存檔轉發。而是拿來源檔(tmp)轉發。
這樣可以確保動作的一致性,且也不容易發生斷檔不完全問題。
同步的動作,則得要另外排程處理,簡單來說,其實我並不太會去做這個動作。但有時為了安全起見。確實要做這件事。
一天一次就好。檢查列表是否兩地都一樣。不一樣時,需要決定要依哪一方為主。去做刪除或新增的動作處理
好的,謝謝您
我之所以會想說是作同步
其實也是有去看了一下2樓的解法
不知道您是不是也是用類似的的方法呢?
目前還只是初步的了解一下Cloud Storage FUSE
有在網路上查到這個文章
http://sakananote2.blogspot.com/2019/05/gcsfuse-google-cloud-storage-with.html
其中有提到
Cloud Storage FUSE 是一種開發原始碼 FUSE 轉接器,可讓您在 Linux 或 macOS 系統上掛接 Cloud Storage 值區做為檔案系統,還可讓應用程式透過標準檔案系統語意上傳和下載 Cloud Storage 物件。Cloud Storage FUSE 可以在連結 Cloud Storage 的任何地方執行,包括 Google Compute Engine VM 或內部部署系統
感覺就是將Cloud Storage作一個網芳/共用資料夾的概念,在本地端電腦建一個雲端資料夾似的
(不太會用專有名詞描述,有說錯還請指正,謝謝)。
喔,你說的是另外一招。就是將雲空間掛載進來機器上使用。
會生成一個偽空間256T。
這樣程式上可以將其視為一種本地空間使用。
但一般來說,不太重要的東西可以這樣做。
因為這樣的做法並不符合異地存放的規則。
畢竟我本機就可以直接操控雲空間的東西。本質上就不太好。
好的,謝謝您
大概get到2個方向,轉發/異地
我再試著從這兩個思路去研究看看
十分感謝!
Cloud Storage FUSE 。掛到 local 來。似乎可免改程式