如何将HttpPostedFileBase文件转换为Java.Io.InputStream?

Pea*_*ind 1 c# java ikvm mpxj

我正在使用MPXJ库在ASP.net上工作.MPXJ的.net版本是使用IKVM创建的.

目前,我有一个大问题:上传文件(Microsoft Project文件 - .mpp文件)到服务器后(我不需要保存),我想从HttpPostedFileBase转换为IKVM版本的java.io.InputStream并且MPXJ会操纵它们,但我不知道实现它的方法.我的代码:

public ActionResult Upload(HttpPostedFileBase files)
{
   // Todo: Convert from HttpPostedFileBase to Java.Io.InputStream
   ProjectReader reader = new MPPReader();
   ProjectFile projectObj = reader.read(Java.Io.InputStream);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*les 5

您需要一个包装器来提供IKVM Java类型java.io.InputStream和.net Stream实例之间的转换.幸运的是,IKVM附带一个......

使用包装器,您的示例现在将如下所示:

public ActionResult Upload(HttpPostedFileBase files)
{
   ProjectReader reader = new MPPReader();
   ProjectFile projectObj = reader.read(new ikvm.io.InputStreamWrapper(files.InputStream));
}
Run Code Online (Sandbox Code Playgroud)