アップロードされたファイルに拡張子がない場合、MIMEタイプを指定する必要がありますか?言い換えれば、デフォルトの一般的なMIMEタイプはありますか?
不明なタイプにはapplication/octet-stream
を使用できます。
RFC 2046 セクション4.5.1の状態:
「オクテットストリーム」サブタイプは、ボディに任意のバイナリデータが含まれていることを示すために使用されます。
質問は明らかにHTTP Content-Typeに関するものだったため、RFC-2046(メディアタイプ)の代わりにRFC-7231(HTTP/1.1セマンティクスとコンテンツ)を参照として使用する必要があります。
また、RFC-2046は不明なタイプを明確に定義していませんが、RFC-7231は定義しています。
不明なデータのMIMEタイプを送信しないでください。
より明確にするために:Content-Typeヘッダーをまったく使用しないでください。
RFC-7231
ハイパーテキスト転送プロトコル(HTTP/1.1):セマンティクスとコンテンツ
.1.1.5。Content-Typeペイロード本体を含むメッセージを生成する送信者
そのメッセージにContent-Typeヘッダーフィールドを生成します
同封された表現の意図されたメディアタイプは、
送信者。
このセクションでは、確かにわからない場合は、除外するように指示しています。また、受信者は、タイプがapplication/octet-streamであると想定できることを伝えますが、問題はそれが何か他のものであるかもしれないということです。
RFC-2046
4.5.1。オクテットストリームサブタイプを受け取る実装に推奨されるアクション
「application/octet-stream」エンティティは、単にデータの配置を提案することです
Content-Transfer-Encodingを元に戻したファイル内、または
ユーザー指定のプロセスへの入力として使用します。
そして、すでに上で述べたように:
RFC-7231
.1.1.5。Content-TypeContent-Typeヘッダーフィールドが存在しない場合、受信者は「application/octet-stream」のメディアタイプを想定できます。
([RFC2046]、セクション4.5.1)またはデータを調べてそのタイプを判別します。
これを「application/octet-stream」と定義すると、「application/octet-stream」であることを知っていると伝えられます。
定義しないと、あなたはそれが何であるかわからないことを伝え、受信者に決定を任せ、受信者はそれがアヒルのように歩くかどうかを確認できます...
私はapplication/unknown
を好みますが、結果は確かにapplication/octet-stream
と同じになります