2017-08-03 4 views
-1

イメージをフォルダに書き込むWebAPIメソッドがあります。それはうまくいく。今、FileNameは、ファイル名から取得している。ここファイル名にデータを追加する(ASP.NET WEB API)

は方法

[Route("api/PostUserImage")] 
    [AllowAnonymous] 
    public async Task<HttpResponseMessage> PostUserImage() 
    { 
     Dictionary<string, object> dict = new Dictionary<string, object>(); 
     try 
     { 

      var httpRequest = HttpContext.Current.Request; 

      foreach (string file in httpRequest.Files) 
      { 
       HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created); 

       var postedFile = httpRequest.Files[file]; 
       if (postedFile != null && postedFile.ContentLength > 0) 
       { 

        int MaxContentLength = 1024 * 1024 * 1; //Size = 1 MB 

        IList<string> AllowedFileExtensions = new List<string> { ".jpg", ".gif", ".png" }; 
        var ext = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf('.')); 
        var extension = ext.ToLower(); 
        if (!AllowedFileExtensions.Contains(extension)) 
        { 

         var message = string.Format("Please Upload image of type .jpg,.gif,.png."); 

         dict.Add("error", message); 
         return Request.CreateResponse(HttpStatusCode.BadRequest, dict); 
        } 
        else if (postedFile.ContentLength > MaxContentLength) 
        { 

         var message = string.Format("Please Upload a file upto 1 mb."); 

         dict.Add("error", message); 
         return Request.CreateResponse(HttpStatusCode.BadRequest, dict); 
        } 
        else 
        { 

         var date = DateTime.Now.ToString(); 

         var filePath = HttpContext.Current.Server.MapPath("~/Image/" + postedFile.FileName+date+ extension); 

         postedFile.SaveAs(filePath); 

        } 
       } 

       var message1 = string.Format("Image Updated Successfully."); 
       return Request.CreateErrorResponse(HttpStatusCode.Created, message1); ; 
      } 
      var res = string.Format("Please Upload a image."); 
      dict.Add("error", res); 
      return Request.CreateResponse(HttpStatusCode.NotFound, dict); 
     } 
     catch (Exception ex) 
     { 
      var res = string.Format("some Message"); 
      dict.Add("error", res); 
      return Request.CreateResponse(HttpStatusCode.NotFound, dict); 
     } 
    } 

のコードです。しかし、私はファイル名に日付を追加する必要があります。

私はこのようにそれをやろう:

var date = DateTime.Now.ToString(); 
var filePath = HttpContext.Current.Server.MapPath("~/Image/" + postedFile.FileName+date+ extension); 

しかし、それはない作品を行います。画像を送信するとエラーが発生します

どうすればいいですか?

ありがとうございました。あなたは

DateTime.Now.ToString("MMddyyHHmmss") 

このコードを使用たとえばスラッシュ ずに日付フォーマットを作成する必要があり

+0

ddMMyyHHmmssので、できるように日付の書式を変更することができ、エラーを表示してください。あなたは得ている。 –

+0

問題が解決されました –

+0

申し訳ありませんが、返信されたかどうかを表示せずにレビューキューに表示されました。一般的に、エラーが発生した場合はいつでも、質問に含めることができます。 –

答えて

1

注:それは

関連する問題