2010-06-28 53 views
7

我有一個將顯示徽標的Web應用程序。一些徽標將採用GIF格式。有些將採用JPEG格式。<img>標籤需要文件擴展名嗎?

我想標準化文件命名約定,以便我可以找到給定公司主鍵的徽標文件。例如,「英國石油公司」擁有1459一PK,他們的標誌是存儲在/圖片/標誌/ C1459

所以我的問題是這樣的:

是文件擴展名重要?我可以保存這些文件,並去除.JPG或.GIF文件,並希望所有瀏覽器能夠識別並呈現文件?或者做一些交易依靠文件擴展名進行識別?

我試過這個在IE7的測試機上,它工作正常,但我不想假設所有其他瀏覽器的工作原理都是一樣的。

編輯: A後續問題。 HOWS確定IIS擴展少文件的MIME類型?

回答

10

對瀏覽器更重要的是在下載過程中與文件一起傳輸的MIME類型 - 歷史上,有些確實會回退到啓發式方法,如文件擴展名或試圖根據傳輸字節進行計算,但如果MIME類型正確,那就沒有必要。

+0

而匿名downvote是因爲? – 2010-06-28 18:40:19

+0

有一個upvote,而不是匿名,甚至作爲解釋爲什麼:簡潔,正確,並教我一些額外的信息引導有趣。 – nearlymonolith 2010-06-28 19:32:48

+0

的確,MIME類型是唯一需要擔心的事情。過去,瀏覽器試圖根據擴展名選擇一種文件類型,但我認爲今天不會有很多這樣做。順便說一句,我曾經發布過一個論壇的JPEG圖片,然後得出結論,這不是最合適的文件類型。我將圖像更改爲PNG8,但使用完全相同的文件名保存它,所以擴展名爲.jpg。該文件是以正確的MIME類型提供的(並且它是在IIS服務器上託管的IIRC)。 – 2010-06-28 20:26:11

2

你一定想在儘可能多的瀏覽器上測試它,但它應該沒問題。只要文件格式正確並且MIME類型正確傳送,瀏覽器就會愉快地顯示圖像。 (很多網站會有像「/images/dbimage.aspx?id=123」的圖像)

編輯:比不同的瀏覽器更重要的測試,實際上,是不同的圖像類型。如果有任何圖像類型未使用正確的MIME類型發送,則需要標識這些圖像類型,並解決它們或禁止它們。

0

這對我來說似乎有些背道而馳。爲什麼不:

1)首次存儲它們時,將所有圖像轉換爲相同類型?

2)搜索使用通配符搜索一個公司的形象(即匹配/Images/Logos/C1459.*)並裝載返回正匹配的文件。當你使用主鍵時,你可以確信你應該爲每個公司找到一個匹配。

+3

1)因爲在gif和jpeg之間轉換會丟失信息(jpeg是有損的,gif支持較少的顏色)。 2)因爲它更復雜。 – 2010-06-28 18:36:28

+1

......並且圖像使用次最佳文件類型(例如,:使用JPEG來存儲線條圖通常是一個糟糕的主意,尤其是在公司徽標的情況下,並且由於使用了錯誤的圖像格式,我看到了許多醜陋的圖像,可能是因爲我有時誤認爲「JPEG產生的總是最小的文件」)。 – 2010-06-28 20:31:24

+0

而且因爲這是一個終端用戶驅動的過程,我無法控制。 – Aheho 2015-12-01 12:27:09