[英]How to convert HttpPostedFileBase file to Java.Io.InputStream?
我正在使用MPXJ庫在ASP.net上工作。 .NET版本的MPXJ已使用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);
}
您需要包裝器才能在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));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.