0

そこで、ファイルをアップロードして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();
    }
4

1 に答える 1

1
@model MyWebApplicationNameSpace.Models.MyModel

<table>
  <tr>
    <td>@Model.ID</td>
    <td>@Model.FileName</td>
  </tr>
</table>

Guidを返す代わりに、UploadedFileTypeを返しませんか。

public UploadedFile SaveUploadedFile(HttpPostedFileBase fileBase) {

    ...
    return file;
}
于 2012-09-06T15:12:41.010 に答える