2017-12-10 7 views
0

にファイルパスを変換する方法ここで は、私は私のsetImageメソッドへの絶対URIに&パスをファイル名を変換する方法を私のlocaldbにファイルを保存したいウリ

[HttpPost] 
    public async Task <IActionResult> UploadNewImage(IFormFile file, string title, string tags) 
    { 
     var content = ContentDispositionHeaderValue.Parse(file.ContentDisposition); 
     var fileName = content.FileName.Trim('"'); 

     await _imageService.SetImage(title, tags, uri); 
     return RedirectToAction("Index", "Gallery"); 
    } 

は私のSetImage方法である

public async Task SetImage(string title, string tags, Uri uri) 
    { 
     var image = new GalleryImage 
     { 
      Title = title, 
      Tags = ParseTags(tags), 
      Url = uri.AbsolutePath, 
      Created = DateTime.Now 
     }; 
     _ctx.Add(image); 
     await _ctx.SaveChangesAsync(); 
    } 
+2

テーブルに絶対URIを格納しないことをお勧めします。一意のファイル名を保存して、後で絶対URIを作成できるようにしてください。明日あなたのビジネスがサイトベースのURLを 'thefacebook'から' facebook'に変更しようとすればどうなりますか? – Shyju

+0

あなたのコードはどこにでも画像を保存していません!この[[asp.net coreのファイルをアップロードするには?](https://stackoverflow.com/questions/35379309/how-to-upload-files-in-asp-net-core)を参照してください。 – Shyju

答えて

0

試してみてください:

public async Task SetImage(string title, string tags, Uri uri) 
{ 
    var image = new GalleryImage 
    { 
     Title = title, 
     Tags = ParseTags(tags), 
     Url = uri.AbsoluteUri, 
     Created = DateTime.Now 
    }; 
    _ctx.Add(image); 
    await _ctx.SaveChangesAsync(); 
} 
関連する問題