AndroidデバイスからWindowsの共有フォルダーにファイルをコピーするためにSambaファイルサーバーを使用しています。.txtファイルでは問題はなく、正常に動作しますが、.jpgファイルを共有フォルダーにコピーしようとしましたが失敗します。私はインターネットからたくさんのコードを検索しましたが、誰かが私の問題を解決しました。なんとか画像をコピーできましたが、開くと破損しています。
誰かがサンプルコードを持っていますか?
私のコードはこれです:
Java.IO.File mfile = new Java.IO.File(item.FullName);
var mSharedFolderCalidad = new SmbFile(AppGlobalConfigSoftware.Instance.Parameters.PathToDownloadCalidad + item.Name);
//If exists don't create another time
if (!mSharedFolderCalidad.Exists())
mSharedFolderCalidad.CreateNewFile();
InputStream inFile = new FileInputStream(mfile);
SmbFileOutputStream sfos = new SmbFileOutputStream(mSharedFolderCalidad);
byte[] buf = new byte[1024];
int len;
while ((len = inFile.Read(buf)) > 0)
{
sfos.Write(buf, 0, len);
}
inFile.Close();
sfos.Close();
すべての助けに感謝します。
ありがとうございました。
あなたは使用することができますMedia.Pluginを最初に写真を撮るためにnugetから。
var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
{
PhotoSize = PhotoSize.Medium,
});
public byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[16*1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
MediaFile
持っている GetStream().
これをStreamに使用して、byte []に変換できます。これを行う1つの方法は次のとおりです。
Stream imageStream;
imageStream = file.GetStream();
var imageArr= ReadFully(imageStream );
そして、それをあなたのフォルダに書き込みます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加