2017-03-07 86 views
0

我是ASP.NET的新手,但對使用JMeter有一定的瞭解。我的任務是創建一個Web服務,它接受通過POST請求上傳的文件。使用ASP.NET和JMeter上傳文件

我的控制器

public class TestController : Controller { 

    [HttpPost] 
    public string Upload(HttpPostedFileBase file) { 
     Logger.Debug("Upload Called, Request.Files.Count: " + Request.Files.Count); 

     if(model.file != null) 
      Logger.Debug("Okay"); 
     else 
      Logger.Debug("Invalid file"); 

     return "done"; 
    } 
} 

我JMeter的採樣 JMeter HTTP request samplertest.csv文件和我的JMeter的測試計劃是在同一個目錄之下。

但是我發現file變量總是null,而Request.Files.Count總是0.請幫忙,提前致謝!

+0

請檢查以下答案http://stackoverflow.com/questions/15680629/mvc-4-razor-file-upload –

+0

可能重複的[MVC 4剃刀文件上傳](http://stackoverflow.com/questions/15680629/mvc-4-razor-file-upload) –

+0

首先感謝!我檢查了我的JMeter請求參數名稱與控制器的輸入參數名稱匹配,都稱爲「文件」。 Request.Files.Count也被發現始終爲0,所以我認爲請求中不包含任何文件。你能提出我的問題嗎? –

回答

0

動態參數,我終於得到了解決。

C#控制器

public class TestController : Controller { 

    [HttpPost] 
    public string Upload() { 
     Logger.Debug("Upload Called, Request.Files.Count: " + System.Web.HttpContext.Current.Request.Files.Count); 

     if(System.Web.HttpContext.Current.Request.Files.Count > 0) 
      Logger.Debug("Okay"); 
     else 
      Logger.Debug("Invalid file"); 

     return "done"; 
    } 
} 

注意System.Web.HttpContext.Current.Request代替System.Web.HttpPostedFileBase,並且不需要被改變JMeter的採樣器。