そこで、ファイルをアップロードしてGUIDをデータベースに追加し、インデックスビューページで、元のファイル名を1つの列に、GUIDを次の列に表示したいのですが、何か提案はありますか?
クラスは次のように定義します
public Guid ID { get; set; }
public string FileName { get; set; }
インデックスコントローラー
public ViewResult Index()
{
return View(uploadedfileRepository.AllIncluding(UploadedFile => UploadedFile.TimeEntrys));
}
とビュー
@foreach (var item in Model)
{
<tr>
<td>
@item.ID
</td>
<td>
@item.FileName
</td>
}
そのため、ファイルをuploadfileデータベースコンテキストに保存し、元のファイル名とその横にあるGUIDを使用してインデックスビューに表示しようとします。
ファイルを保存する方法
UploadedFileRepository newUploadedFileRepository = new UploadedFileRepository();
private string _uploadsFolder = HostingEnvironment.MapPath("~/App_Data/Files/");
public Guid SaveUploadedFile(HttpPostedFileBase fileBase)
{
var identifier = Guid.NewGuid();
fileBase.SaveAs(_uploadsFolder + identifier + suffix(fileBase.FileName));
var file = new UploadedFile { FileName = _uploadsFolder + identifier + suffix(fileBase.FileName), ID = Guid.NewGuid() };
_repository.UploadedFiles.Add(file);
return identifier;
}
static string suffix(string filename)
{
string[] names = filename.Split('.');
return "." + names[1].ToString();
}