0

現在、PDF ファイルと画像を MVC Web アプリケーションから SQL Server データベースにアップロードしています。これは完全に機能しますが、ePub ファイルをアップロードできるようにしたいと考えています。

私は同じアップローダでそれをやろうとしましたが、それがうまくいくことを望んでいましたが、これは私が得るエラーです:

SqlException がユーザー コードによって処理されませんでした。

「パラメーター化されたクエリ '(@FileContent varbinary(max) ,@MimeType nvarchar(4000),@FileName' は、指定されていないパラメーター '@MimeType' を想定しています。

アップロードを処理するコントローラーのコードも次のとおりです。

public ActionResult Index()
{

    foreach (string upload in Request.Files)
    {
        if (!Request.Files[upload].HasFile1()) continue;

        string mimeType = Request.Files[upload].ContentType;
        Stream fileStream = Request.Files[upload].InputStream;
        string fileName = Path.GetFileName(Request.Files[upload].FileName);
        int fileLength = Request.Files[upload].ContentLength;
        byte[] fileData = new byte[fileLength];
        fileStream.Read(fileData, 0, fileLength);

        const string connect = @"Server=localhost;Database=Images;user id=taraw; password=****;";
        using (var conn = new SqlConnection(connect))
        {
            var qry = "INSERT INTO FileStore (FileContent, MimeType, FileName) VALUES (@FileContent, @MimeType, @FileName)";
            var cmd = new SqlCommand(qry, conn);
            cmd.Parameters.AddWithValue("@FileContent", fileData);
            cmd.Parameters.AddWithValue("@MimeType", mimeType);
            cmd.Parameters.AddWithValue("@FileName", fileName);
            conn.Open();
            cmd.ExecuteNonQuery();
        }
    }

    return View();
}

問題が何であるかについては、エラーが自明であることはわかっていますが、ePub ファイル形式を受け入れるようにコードを変更する方法がわかりません。

どんな助けでも大歓迎です:)

4

2 に答える 2

0

ePUB を既知のタイプとしてサーバーの Mime タイプ リストに追加します。mime タイプが db に null になると思います。そのため、このエラーが発生します。

于 2010-11-02T09:54:07.790 に答える
0

epub ファイルの MIME タイプが application/epub + zip であることがわかりました。ユーザーに期待するのではなく、アプリケーションでこれを指定しましたが、これでうまくいったようです。ファイルは問題なくアップロードおよびダウンロードされています。

コメントしてくれた人に感謝します:)

于 2010-11-02T11:03:24.360 に答える