1
HttpPostedFileBase의 스트림을 디스크에 저장하지 않고 서비스 메서드에 전달하려고합니다.HTTPPostedFileBase의 MVC/WebApi 스트림
//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'는 다음과 같은 예외를 던졌다 : '제한 시간이 스트림에서 지원되지 않습니다."스트림이 전달 될 때가 발생 방법에. 이것을하는 관용적 인 방법이 있습니까?
답장을 보내 주셔서 감사합니다. 여전히 동일한 오류가 발생합니다. 'System.IO.MemoryStream'개체의 속성 접근 자 'ReadTimeout'에서 '이 스트림에서 시간 제한이 지원되지 않습니다.'라는 예외가 발생했습니다. 스택 추적 : System.IO.Stream.get_ReadTimeout에서 () 파일은 1킬로바이트이다 당신이 어떤 다른 제안이 있습니까? – bjscharf
불행히도 아니지만 문제를 재현하여 조사 할 수있는 VS 테스트 프로젝트를 임시로 업로드 할 수 있습니까? –
도와 주셔서 감사합니다. 많은 시간 동안 테스트를 거친 후에 이것은 우리가 사용하고있는 Asp.Net 보일러 플레이트 프레임 워크와 관련이있는 것처럼 보입니다. 최신 버전 (https://github.com/aspnetboilerplate/aspnetboilerplate/releases/tag/v0.11.2.0)으로 업데이트하고 많은 코드를 변경하면이 오류가 사라집니다. 나는 너의 도움에 대단히 감사한다. – bjscharf