2017-12-01 6 views
0

私のプロジェクトでは、プロフィールを変更して画像をアップロードできるページを設定しています。私はそのすべてがうまくいきましたが、今は自分のイメージをユニークなUsername(これはユニークです)と一致させることでユニークなイメージにしたいのですが、私はグーグルでどこにいても良いガイドを見つけることができませんでした。ここ は私のコードです:asp.netでファイル名を変更

{ 
    if (PfFoto != null) 
    { 
     string pic = System.IO.Path.GetFileName(PfFoto.FileName); 

     string path = System.IO.Path.Combine(Server.MapPath("/images/PFfotos"), pic); 

     PfFoto.SaveAs(path); 

     return RedirectToAction("Index"); 
    }        
} 

私のユーザ名はchangePF.Name に格納され、ファイル名がそのように誰もがこれを行う方法を知っているんpic

に保存されていますか?あなたは自分のユーザー名(に一致する拡張部分のない)と同じになるようにファイル名をしたい場合は、あなたが取得するPath.GetExtensionメソッドを使用することができ

if (PfFoto != null) 
{ 
    string path = System.IO.Path.Combine(Server.MapPath("/images/PFfotos"), changePF.Name); 

    PfFoto.SaveAs(path); 

    return RedirectToAction("Index"); 
} 
+0

なぜファイル名とユーザー名を組み合わせたいのですか?ユニークなランダムIDを割り当てるのはなぜですか? – mason

+0

Becouse私はこの画像を画像として表示する必要があります。ファイル名がログインに使用したユーザー名と同じ場合は –

+0

と思います。しかし実際は悪い考えです。ユーザー名を変更するのはどうですか?これは、ユーザーのIDを基にする必要があります。ユーザーIDは、変更可能なユーザーの属性に基づいて作成されたものではありません。 – mason

答えて

1

だけのようSaveAsFileNameを変更ファイル拡張子(例:.jpgまたは.png)を入力し、固有のユーザー名と連結します。

if (PfFoto != null) 
{ 
    var newFileName = changePF.Name + Path.GetExtension(PfFoto.FileName); 
    var path = System.IO.Path.Combine(Server.MapPath("/images/PFfotos"), newFileName); 
    PfFoto.SaveAs(path); 
} 
関連する問題