如何将httppostdfilebase文件转换为Java.Io.InputStream
本文关键字:Java Io InputStream 转换 文件 httppostdfilebase | 更新日期: 2023-09-27 18:09:53
我正在使用MPXJ库开发ASP.net。.net版本的MPXJ已经使用IKVM创建。
目前,我有一个大问题:上传一个文件(微软项目文件- .mpp文件)到服务器(我不需要保存它)后,我想从HttpPostedFileBase转换到java.io.InputStream和MPXJ的IKVM版本将操纵它们,但我不知道如何实现这一点。我的代码:
public ActionResult Upload(HttpPostedFileBase files)
{
// Todo: Convert from HttpPostedFileBase to Java.Io.InputStream
ProjectReader reader = new MPPReader();
ProjectFile projectObj = reader.read(Java.Io.InputStream);
}
您需要一个包装器来提供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));
}
如果你不想使用IKVM,你可以这样实现:
public ActionResult Upload(HttpPostedFileBase files)
{
byte[] fileData = null;
using (var binaryReader = new BinaryReader(files.InputStream))
{
fileData = binaryReader.ReadBytes(files.ContentLength);
}
ProjectFile projectObj = reader.read(new ByteArrayInputStream(fileData));
}