iT邦幫忙

0

蝦皮圖片上傳問題

最近做圖片上傳的功能,剛好研究到蝦皮的上傳商品的功能,想請問:
我有兩張圖01.jpg 和 02.jpg 這兩張是完全一樣只有檔名不一樣(02.jpg是01.jpg複製出來的),當我再上傳這兩張圖時,先上傳01,之後上傳02蝦皮會跳出"無法使用相同的照片",想請問他是依據什麼來做判別檔案是相同的呢?

原本我是用檔名判斷,但覺得不太靠普,麻煩有經驗的大大幫小弟解答一下,謝謝

dragonH iT邦大師 3 級 ‧ 2019-09-18 09:28:48 檢舉
MD5

1 個回答

1
浩瀚星空
iT邦大師 1 級 ‧ 2019-09-18 10:02:15
最佳解答

你這是 https://ithelp.ithome.com.tw/questions/10195146
這邊的問題延伸題了吧。

一般來說是直接md5檢查就好了。
只是我搞不太清楚其最大的目的是為何。

一般上傳圖片很少會做這樣的同圖片檢查的。因為很容易踩到雷。
再加上md5檢查是需要先讀取檔案的內容後再做md5。
光這樣的動作就很危險了。畢竟圖片有些可能會高達100mb以上。
所以雖然這是唯一的覆判斷方式,卻無人想要這樣做的原因。

當然,如果你真硬要做的話。倒也不是不行。只是你可能得要準備好一個圖片資料表。
來儲存每一次上傳圖片的md5。

其它是否還有其它方式???其實以前我曾經用過的是exif資訊。取其發布者跟建立日期還有一組啥的我忘了。將其當成同圖片依據。
可惜這招有很大的風險存在。就是不存在exif的情況下。還是gg。

看更多先前的回應...收起先前的回應...
dragonH iT邦大師 3 級 ‧ 2019-09-18 10:05:29 檢舉

畢竟圖片有些可能會高達100mb以上

我覺得讓 user 上傳 100 M 的圖片比較危險XD /images/emoticon/emoticon37.gif

cheer0101 iT邦新手 5 級 ‧ 2019-09-18 10:08:47 檢舉

我有試著用lastModified來判別,只是不知道會不會有問題 感謝星大的解惑

@dragonH
現在網路的速度已經不比以前了。
100m上傳來說可能是幾秒的事了。
我說100mb可能還是有點誇大。
不過我確實有碰過這樣的客戶需求。對方是攝影店。所以他們的照片大多都是原稿。不要說100m了。有些一張圖片就將近快1g了。
不過當然啦!要一次上傳1g確實有其難度跟危險就是了。所以我是用另外的方式來處理就是了。(這就不說了)

但其實我在後期接的案子,有些廣告及購物網站。確實也是有見過100mb的圖片過。(但其實都有經過後製處理就是了)

@cheer0101
檢查修改時間確實也是一招。這跟我用exif資訊的意思一樣。
只是比對資料少,誤差的情況就很大。你只單純檢查最後修改時間。其實也是很危險的。因為就算是不同圖片,也有可能是同一個修改時間的。
用這樣子判讀是否為重覆的誤差太大了。

克理獅 iT邦新手 4 級 ‧ 2019-09-19 21:13:32 檢舉

想到前同事遇過個專案,對方的總經理想在內部論壇上傳頭像(60x60 px),結果七噗噗的說為什麼一直失敗
一查不得了,他想上傳用單眼拍的超大風景照,檔案好像GB等級的XD
然後不接受壓縮、裁切,一定要原始檔案
完全不知道在幹嘛的扯蛋需求

cheer0101 iT邦新手 5 級 ‧ 2019-09-20 10:37:49 檢舉

感謝各位高手,小弟還有個問題,就是一般上傳圖片會給什麼限制呢?
或者是依些基本功能,小弟目前有的是移動圖片位置、刪除、旋轉。典籍上船後會壓縮圖檔及制定一個大長寬

這個問題很難給你答案。因為依照不同的需求會有不一樣的限制。

最單純一點就是檔案類型、容量跟長寬限制了。

我要發表回答

立即登入回答