3

httppostedfilebaseでアップロードした画像をデータベースに保存したい。

どうすればいいですか?データベース フィールドを構造化するにはどうすればよいですか? データベースに保存するには、どのようなコードを作成すればよいですか?

4

4 に答える 4

1
if(uploadedImage == null || uploadedImage.ContentLength == 0)
{
    // no image
}

var image = new Image();
image.Name = uploadedImage.FileName;
image.ContentType = uploadedImage.ContentType;
int length = uploadedImage.ContentLength;
byte[] buffer = new byte[length];
uploadedImage.InputStream.Read(buffer, 0, length);
image.Data = buffer;

ImageNameクラスはデータベースエンティティであるため、データベース内ContentTypeにが必要ですDatauploadedImageですHttpPostedFileBase

于 2010-08-25T14:25:06.550 に答える
1
[HttpPost]
    public ActionResult SaveImage(HttpPostedFileBase image)
    {
       Foo foo=new Foo();
       if (image != null)
            {
                foo.ImageMimeType = image.ContentType;//public string ImageMimeType { get; set; }
                foo.ImageData = new byte[image.ContentLength];//public byte[] ImageData { get; set; }
                image.InputStream.Read(product.ImageData, 0, image.ContentLength);
            }
            fooRepository.Save(foo);
        }
    }
于 2010-08-25T15:28:34.417 に答える
1

画像やその他のファイルを SQL データベースに格納するために、データ型 varbinary(max) を使用します。

このデータ型の操作方法の例については、http: //msdn.microsoft.com/en-us/library/a1904w6t (VS.80).aspx を参照してください。

于 2010-08-25T14:28:50.847 に答える
1

まず第一に、画像をデータベースに保存することは物議を醸すテーマなので、これが本当にあなたが望んでいることかどうかを必ず検討してください。詳細な議論については、次を参照してください。

DB への画像の保存 - 賛成か反対か?

次に考慮すべきことは、どのテクノロジーを使用するかです。Linq2SQL、NHibernate、Entity Framework、またはプレーンな ADO.NET を使用しますか? テクノロジーを選択するときは、画像の保存だけに集中するのではなく、アプリケーション アーキテクチャ全体を考慮に入れる必要があります (それがアプリのすべてでない限り)。それが解決したら、選択したテクノロジーがバイナリデータをどのように処理するかを確認してください。

からバイナリ データにアクセスできますHttpPostedFileBase.InputStream

于 2010-08-25T14:34:16.670 に答える