2017-07-21 5 views
1

の名前を変更するにはどうでしたコントローラ私はここでは、この <a href="https://i.stack.imgur.com/ELMTn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ELMTn.png" alt="enter image description here"></a> のようにアップロードリンクを作成したアップロードされたファイルのasp.netコアMVC

[HttpPost] 
    public async Task<IActionResult> Index(ICollection<IFormFile> files) 
    { 
     var uploads = Path.Combine(_environment.WebRootPath, "UploadedFiles/Archives"); 
     foreach (var file in files) 
     { 
      if (file.Length > 0) 
      { 

       using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create)) 
       { 
        await file.CopyToAsync(fileStream); 
       } 
      } 
     } 
     return View(); 
    } 

それが定義された名前のユーザーを持つ内のファイルを保存中に私のコード。

「Alumni Survey.pdf」の名前を「2017.pdf」に変更したいのですがどうすればいいですか? 私はユーザーが.pdfファイルしかアップロードできないように制限したいのですが、何を探したらいいですか?

+1

accept属性を使用します。 'file.FileName'を使用せず、あなたが望むものの名前を付けてください。 – Nkosi

+0

あなた自身のコードを理解していますか? 'FileStream'にファイル名を渡しています。別のファイル名を渡すだけです。 – SLaks

+0

私はこのようなnoobの質問を私の解決策として見つけました。返信ありがとう – Jessica

答えて

1

"Alumni Survey.pdf"の名前を "2017.pdf"に変更したいのですがどうすればいいですか?

file.FileNameを使用して名前を付けてください。

[HttpPost] 
public async Task<IActionResult> Index(ICollection<IFormFile> files) { 
    var uploads = Path.Combine(_environment.WebRootPath, "UploadedFiles/Archives"); 
    foreach (var file in files) { 
     if (file.Length > 0) { 
      using (var fileStream = new FileStream(Path.Combine(uploads, "<My file name here>"), FileMode.Create)) { 
       await file.CopyToAsync(fileStream); 
      } 
     } 
    } 
    return View(); 
} 

ファイルのコレクションを持っているので、名前を付けるときに複数のファイルをアップロードする必要があります。それらの名前をすべて同じにすることはできません。ファイルの制限のために、私は唯一の.pdfファイルをアップロードすることができ、ユーザを制限したい

命名に関するファイル入力タグにaccept="application/pdf"

<input type="file" 
     class="form-control" 
     id="files" 
     name="files" 
     accept="application/pdf"> 
+0

もう1つの質問は、現在、同じコントローラのindex()関数を使用している2つのフォームが必要で、どのフォームが呼び出されているかわかりますか? – Jessica

+0

非表示の入力にプロパティ/フィールド/フォーム値を追加して、アクションをチェックインしてフォームが送信されたときを知ることができます。 OPに追加の要件が追加されました。そんなことしたらダメ。新しい質問がある場合は、新しい質問を作成してください。 – Nkosi

関連する問題

 関連する問題