ディスクに保存せずに、HttpPostedFileBase からサービス メソッドにストリームを渡そうとしています。
//Controller Action
[HttpPost]
public void Import()
{
if (Request.Files.Count == 0)
return new HttpStatusCodeResult(404);
var file = Request.Files[0];
_departmentAppService.Import(file.InputStream);
}
//Service Method
public string Import(Stream stream)
{
var excelFile = ExcelFile.Load(stream, LoadOptions.CsvDefault);
var worksheet = excelFile.Worksheets[0];
var jsonString = worksheet.ToJsonString();
return jsonString;
}
ストリームがメソッドに渡されると、「オブジェクト 'System.Web.HttpInputStream' のプロパティ アクセサー 'ReadTimeout' が次の例外をスローしました:'タイムアウトはサポートされていません。'」というエラーがスローされます。これを行う慣用的な方法はありますか?