1

ダウンロードしたファイル拡張子のないバイト配列があります。このファイルに拡張子 (私の場合は常に .gif) を付けて、バイト配列に戻す必要があります。

私はこのように最初のステップを達成しています:

FileContentResult file = File(imageList.Single(), "image/gif");

次に何をすべきかわかりません。FileContentResult には、バイト配列タイプの FileContents パラメータがあります。それを使ってみましたが、データに拡張子が含まれていないようです。

バイト配列には拡張タイプも含まれていますか? これは私にとって初めての作業であり、それらが何であるか、それらで何ができるかについての私の理解が不足しています.

4

2 に答える 2

0

image/gifは、一連のデータを解釈する方法をクライアントに伝えるためにインターネットで使用される MIME タイプです。

データをディスクに保存する場合は必要ありません。

于 2014-01-13T21:58:01.680 に答える
0

問題のドメインに関するあなたの言い回しは、少し誤解を招く可能性があると思います。「ダウンロードした」という用語を使用する場合、「http 接続を介して取得した」という意味ですか、それとも「ディスク ファイルまたはデータベース フィールドから (過去形で) 読み取った」という意味ですか??

後者のケースだと思いますので、先に進みます。

この方法で取り出された生データには、ファイル名はありません。どうして???ファイル名は、ファイル システム内のデータへのポインタです。「緑のもの」とマークされた茶色の紙袋があり、たまたまその袋からリンゴを取り出した場合、そのリンゴ (生データ) を「緑のもの」とマークされた袋 (ポインタ) に関連付けるリンゴが本質的に存在します。 .

あなたのコードは FileContentResult を参照しているため、MVC を使用しており、コントローラー コード内にいて、バイト配列をブラウザーに戻そうとしていると推測されます。

ここの下のリンクをのぞいてみると、FileContentResult オブジェクトに「FileDownloadName」という名前のきちんとしたプロパティがあることがわかるかもしれません。これは、ファイルの名前を設定する場所です - 拡張子を追加します。

http://msdn.microsoft.com/en-us/library/system.web.mvc.filecontentresult(v=vs.118).aspx

于 2014-01-13T22:42:56.757 に答える