ASP.NET MVC と Entity Framework のコード ファースト アプローチを使用しています。.doc
ファイル (または.pdf
) を SQL Serverにアップロードしたいと考えています。多くのフォーラムを検索して閲覧しましたが、Entity Framework コード ファースト アプローチを使用してファイルを SQL Server にアップロードする明確な解決策を見つけることができませんでした。
ファイルをアップロードするために次のコードを書きましたが、ファイルをデータベースに保存するときにエラーが発生します。
ここに次のコードがあります
コントローラーは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.IO;
using FileuploadEF.Models;
namespace FileuploadEF.Controllers
{
public class HomeController : Controller
{
FileEntities db = new FileEntities();
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult upload()
{
foreach (string file in Request.Files)
{
var PostedFile = Request.Files[file];
string filetype = Request.Files[file].ContentType;
int filelength = Request.Files[file].ContentLength;
Stream filestream = Request.Files[file].InputStream;
byte[] filedata = new byte[filelength];
string filename= Path.GetFileName(Request.Files[file].FileName);
filestream.Read(filedata, 0, filelength);
var data = new FileDump
{
FileName = filename,
FileType = filetype,
FileContent = filedata
};
db.FileDumps.Add(data);
db.SaveChanges();
}
return View();
}
}
}
filedump
データベースを作成するためのクラスは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace FinaleuploadEF.Models
{
public class FileDump
{
public int Id { get; set; }
public string FileName { get; set; }
public string FileType { get; set; }
public byte[] FileContent { get; set; }
}
}
エンティティ クラスは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace FinaleuploadEF.Models
{
public class FinalEntities : DbContext
{
public DbSet<FileDump> FileDumps { get; set; }
}
}
接続文字列:
<connectionStrings>
<add name="FinalEntities"
connectionString="Data Source=|DataDirectory|FinaleuploadEF.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
ファイルをデータベースに保存しているときに、次のエラーが発生します。
www.freeimagehosting.net/kmwts
誰かが上記の問題の解決策を提案できますか? または、上記のコードに必要な変更はありますか?