24

/imagesフォルダーに.otfフォントのMVC4アプリケーションがあります。デスクトップでは動作しますが、azureにデプロイすると、/ images/myfont.otfにアクセスしようとすると404が表示されます。

フォントには、BuildActionプロパティが「Content」に設定されています。

Azureにこれを強制的に取得するにはどうすればよいですか?

4

5 に答える 5

39

このファイルタイプを適切に提供するようにIISを構成する必要があります。<system.webServer>これを行うには、次の要素を次の要素に追加しますWeb.config

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

詳細 http://www.big.info/2013/06/how-to-use-otf-opentype-format-fonts-on.html

于 2014-01-20T13:08:24.103 に答える
9

構成に以下を配置web.configsystem.webServerます。

<system.webServer>    
   <staticContent>
       <remove fileExtension=".otf" />
       <mimeMap fileExtension=".otf" mimeType="font/otf" />
    </staticContent>
</system.webServer>
于 2014-04-17T14:13:34.290 に答える
2

HTTPエラー404は、コンテンツがサーバー上に見つからないことを意味します。これは、アプリケーションをWindows Azureに展開したときに、コンテンツがパッケージに含まれていなかったことを意味します。

上記で提案したように、コンテンツとして.OTFが設定されているということは、コンパイラに静的ファイルとして扱い、ビルドしないように要求していることを意味します。ただし、特定のファイルは、finalの一部としてfinal出力フォルダーにコピーされません。 CSPKG。「出力ディレクトリにコピー」を「常にコピー」に設定して、CSPKGの一部にし、Azureクラウドサービスにデプロイできるようにする必要があります。

ファイルのプロパティを正しく設定してアプリケーションをビルドしたら、出力フォルダーに手動でアクセスして、ファイルを解凍するだけで、ファイルとCSPKGが存在することを確認できます。

ここに画像の説明を入力してください

于 2012-11-16T19:30:20.050 に答える
0

私にとっての問題は、ファイルがプロジェクトに含まれていなかったことです。それらは正しいファイルパス((project)/Content/fonts/*)にありましたが、プロジェクトの一部とは見なされませんでした(つまり、*.csprojファイルによる参照)。解決策は、フォントフォルダを右クリックしてInclude in Projectオプションを選択することでした。

于 2014-12-02T16:35:18.273 に答える
-1

私の最善の策は、css内にフォントファイルへの相対パスがあることです。

403 Forbiddenを取得していますか?これは、ファイルパスがオフになっていることを示している可能性があります。

パスを../filename.otfから/Styles/filename.otf(またはパスが何であれ)のようなものに変更してみてください

于 2014-04-29T08:34:34.350 に答える