2012-11-15 16 views
16

के लिए तैनात किया जा रहा है मैं/छवियों फ़ोल्डर में एक .otf फॉन्ट के साथ एक MVC 4 आवेदन किया है। यह मेरी डेस्कटॉप पर काम करता है, लेकिन जब मैं azure को तैनात जब तक पहुँचने का प्रयास करते समय मुझे 404 प्राप्त /images/myfont.otf.otf नहीं फ़ॉन्ट Azure

फ़ॉन्ट पहले से ही कार्रवाई बिल्ड संपत्ति 'सामग्री'

को स्थापित किया है मैं कैसे कर सकते हैं इसे लेने के लिए Azure मजबूर करें?

+1

आप पुष्टि कर सकते हैं कि फ़ाइल ** cspkg ** फ़ाइल निकालने के द्वारा प्रतिलिपि बनाई गई है (यह Azure पर अपलोड हो जाता है), आप इसे 'एक्स: \ समाधान \ AzureProject \ bin \ ConfigName \ app.publish में पा सकते हैं \ AzureProject.cspkg' आपको अपनी एएसपी.NET प्रोजेक्ट निकालने की आवश्यकता होगी, फिर साइट्सोट के तहत सामग्री फ़ोल्डर की जांच करें। –

उत्तर

28

आप शायद आईआईएस ठीक से इस फ़ाइल प्रकार की सेवा के लिए कॉन्फ़िगर करना होगा। आप Web.config में <system.webServer> तत्व के लिए निम्न जोड़कर ऐसा करते हैं:

<staticContent> 
    <mimeMap fileExtension=".otf" mimeType="font/otf" /> 
</staticContent> 

अधिक जानकारी http://www.big.info/2013/06/how-to-use-otf-opentype-format-fonts-on.html

+1

यह मेरे लिए काम किया, धन्यवाद! – JleruOHeP

2

HTTP त्रुटि 404 का मतलब है सामग्री सर्वर पर नहीं मिला है। इसका मतलब यह है कि जब आप Windows Azure करने के लिए आपके आवेदन को तैनात सामग्री पैकेज में नहीं था।

जैसा कि आपने ऊपर बताया है कि आपके पास .OTF सामग्री के रूप में सेट है, इसका मतलब है कि आप इसे स्थिर फ़ाइल के रूप में मानने के लिए कंपाइलर से पूछ रहे हैं और इसे नहीं बनाते हैं, हालांकि विशिष्ट फ़ाइल को अंतिम आउटपुट फ़ोल्डर में कॉपी नहीं किया जाएगा अंतिम सीएसपीकेजी का हिस्सा। आप "हमेशा की नकल" तो यह CSPKG का हिस्सा है और Azure बादल सेवा के लिए तैनात किया जा सकता है के रूप में "उत्पादन निर्देशिका में प्रतिलिपि" स्थापित करने के लिए की आवश्यकता होगी।

एक बार जब आप फ़ाइल गुण ठीक से सेट और अपने आवेदन का निर्माण, यदि आप स्वयं अपनी उत्पादन फ़ोल्डर में करने के लिए यात्रा कर सकते हैं कि फाइल को सत्यापित वहाँ साथ ही अपने CSPKG के रूप में बस इसे अनज़िप कर रहा है।

enter image description here

+2

शायद यह मुद्दा नहीं है। एक फ़ॉन्ट फ़ाइल एक छवि कहने से अलग नहीं है, और आपको उन लोगों के लिए किसी भी संपत्ति को बदलने की आवश्यकता नहीं है। अधिक संभावित कारण के लिए मेरा उत्तर देखें। – MEMark

4

प्लेस system.webServer विन्यास में web.config में निम्नलिखित:

<system.webServer>  
    <staticContent> 
     <remove fileExtension=".otf" /> 
     <mimeMap fileExtension=".otf" mimeType="font/otf" /> 
    </staticContent> 
</system.webServer> 
-1

मेरे सबसे अधिक उपयुक्त रहेगी कि आपके पास अपने सीएसएस के भीतर आपकी फ़ॉन्ट फ़ाइलों के सापेक्ष पथ हैं।

आप एक 403 निषिद्ध हो रही है? यह संकेत दे सकता है कि आपके फ़ाइलपाथ बंद हैं।

/Styles/filename.otf की तरह कुछ करने के लिए ../filename.otf से अपने पथ बदलने का प्रयास करें (या जो भी अपने पथ है)

0
मेरे लिए समस्या

फ़ाइलें परियोजना के साथ शामिल नहीं किया गया है । वे सही फ़ाइल पथ ((project)/Content/fonts/*) में थे, लेकिन परियोजना का हिस्सा नहीं माना जाता है (यानी *.csproj फ़ाइल द्वारा संदर्भ)। समाधान फोंट फ़ोल्डर पर राइट क्लिक करना था और Include in Project विकल्प चुनें।