1

ここに 2 つの問題があります。

関数:

public ActionResult File(Guid Id, string Name)
    {
        using (var db = new DBContext())
        {
            var file = db.Attachments.Where(s => s.Id == Id).FirstOrDefault();
            if (file == null)
            {
                return HttpNotFound();
            }
            return File(file.Path, file.ContentType, file.OriginalName + file.Extension);
        }           
    }

ブラウザにこのファイルのダウンロードまたは表示を決定させたい場合を除いて、正常に動作します。通常、そのようなリンクをクリックすると、この画像が表示されるため、.png画像が自動的にダウンロードされます。これどうやってするの?

そして2番目の問題:これがこの関数への私のルートです:

routes.MapRoute(name: "Files", url: "file/{id}/{file}",
       defaults: new { controller = "Home", action = "File",
                       id = UrlParameter.Optional, 
                       file = UrlParameter.Optional });

fileパラメータをに設定すると。たとえば、1.png404 ecxeption がスローされます。私が理解しているように、これはサーバー上で直接ファイルを検索しているときに発生しますが、私の機能ではありません。この関数を常に呼び出すようにこのルートを作成するにはどうすればよいですか?

お時間をいただきありがとうございます!

4

0 に答える 0