2016-06-01 16 views
0

私はasp.netでFileUploadを使用していますので、何度か動作させることができますが、何らかの理由で他のコンピュータにファイル(ソリューション)を転送すると、これは私のタイプアップロード中のファイル:異なる投稿ファイルのコンテンツタイプを取得するのはなぜですか?

if (FileUpload1.PostedFile.ContentType == "application/vnd.ms-excel" || 
       FileUpload1.PostedFile.ContentType == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") 

「Excel」ファイルの値はすべてSQLデータベースに保存されました。 FileUpload.PostedFile.ContentTypeアプリケーション/オクテットストリームを返すので、私がファイルを転送すると、突然動作しません。

ここに大きな質問がありますが、どうしてですか?私の他のコンピュータでは、コンテンツの種類は正常ですが、他のコンピュータでは返しません。

+0

ファイルアソシエーションが両方のマシンで定義されていますか?それはExcelがインストールされているときに起こります。 – nicomp

+0

ファイルアソシエーションは何を定義しているのですか? –

+0

私はここでWindowsを話しています... Excelなどのアプリをインストールすると、アプリと特定のファイル拡張子の間に概念的な接続もインストールされます。あなたがExcelを持っていない場合、私はあなたがその接続を持っているとは思わない、そのコンピュータはExcelファイルが何であるかわからず、その代わりにアプリケーション/オクテットストリームと呼ばれるため、私はapplication/octet-streamがデフォルトのファイルタイプだと思います。 https://www.iana.org/assignments/media-types/application/octet-streamをご覧ください。 – nicomp

答えて

0

はい、アプリケーションのデプロイ時に解決できます。ファイルアソシエーションを作成するプログラムは、展開中に実行する必要があります。あなたはそのプログラムを書くか、オンラインで見つける必要があります。

+0

ですが、ウェブの場合はどうなりますか? –

+0

私はあなたが何を意味するのか理解できません。ファイルの関連付けは、問題の説明に基づいて、サーバー側で作成する必要があります。つまり、ASP.Netアプリケーションがそこにインストールされる前に、小規模なプログラムをサーバー側で実行するという、小規模なプログラムを配布パッケージに追加するということです。私はあなたがアプリケーション自体にファイルの関連付けの作成コードを入れて、それがglobal.asaxのApplication_Startイベントを使い果たすようにすることもできると思います。 – nicomp

+0

ああ、私はサーバーに実行ファイルを入れるだけですか?申し訳ありませんが、私は展開に新しいです –

関連する問題