2016-09-29 3 views
0

ディスクにImageを保存する必要があるコードを実行しています。 私はグーグル計算のubuntuインスタンスで.net core 1.0を使用しています。ImageオブジェクトにはImageProcessorCoreライブラリを使用しています。Ubuntuで.net coreを使用してディスクに画像を保存する(GCloud Compute Engine)

これは、イメージをCloud Storageバケットからバイト配列に取り出し、ディスクに保存しようとするコードです。

 if (!Directory.Exists(dir)) 
      Directory.CreateDirectory(dir); 

     if (!File.Exists(file)) 
     { 
      byte[] bytes = mediaAdapter.GetMedia(Id, Resolution); 

      using (MemoryStream stream = new MemoryStream(bytes)) 
      { 
       Image image = new Image(stream); 
       using (FileStream save = File.Create(file)) 
        image.Save(save); 
      } 
     } 
     using (FileStream read = File.OpenRead(file)) 
     { 
      Image img = new Image(read); 
      return new BoundingRect(img.Width, img.Height); 
     } 

このコードは、.netコアを実行しているWindowsマシンでは完全に実行されますが、例外がスローされずに計算エンジンで実行が停止します。

PS:Directory.CreateDirectory(dir);計算エンジンにディレクトリを作成します。

ご協力いただければ幸いです。あなたが使用して正確にあなたがそれを手に入れたしているImageProcessorCoreのバージョンは何THX

+0

? – svick

+1

バイナリデータをディスクに保存するために 'Image'クラスは必要ありません。画像を処理したい場合にのみ必要です。 'File.WriteAllBytes(file、bytes)'を使用してください –

+0

あなたのご意見ありがとうございます、私は世話をしていない許可の問題でした!私は保存していたディレクトリをchownする必要がありました。 – Salem

答えて

0

問題は、私はファイルを保存しようとしていたディレクトリにアクセス許可の問題に関連していた。(chownコマンドは、問題を修正しました)

関連する問題