0

ユーザーが自分のアカウントの画像をアップロードできるようにするaspxページがあります。Android携帯ブラウザからフォームに入力しようとするとエラーが発生します。

私のページが私の電話がアップロードのために送信していると言っているファイルのタイプを書き留めました。そのこれ...アプリケーション/オクテット-ストリーム

このファイルを受け入れるにはどうすればよいですか?私は成功せずに以下のこのコードを試しました。

                        var FileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName);

                        //FileUpload1.PostedFile.ContentType == 

                        if (FileUpload1.PostedFile.ContentType.ToLower() == "image/jpg" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "image/jpeg" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "image/pjpeg" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "image/gif" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "image/x-png" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "image/png" ||
                        FileUpload1.PostedFile.ContentType.ToLower() == "Application/Octet-Stream")


                        {
4

1 に答える 1

1

あなたの問題のパート1は、文字列の比較が不十分であることです。最後の比較では、小文字の文字列を大文字の文字列と比較します。これを試して:

string[] sTypes = { "image/jpg", "image/jpeg", "image/pjpeg", "image/gif", "image/x-png",
    "image/png", "Application/Octet-Stream" };
bool bIsMatch = false;
foreach (string sType in sTypes)
{
    if (String.Compare(sType, FileUpload1.PostedFile.ContentType, true) == 0)
        bIsMatch = true;
}
if (bIsMatch)
{
    //Allow upload
}

OPコメントで述べたように、誰かがウイルスやその他の実行可能ファイルをアップロードできるようにするアプリケーション/オクテットストリームを許可する場合、コンテンツタイプフィルターのポイントが本当にわかりません。他のファイルの種類。

于 2012-10-16T16:55:45.763 に答える