簡體   English   中英

如何將HttpPostedFileBase文件轉換為Java.Io.InputStream?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM