WP7 アプリで、IsolatedStorage から直接ファイルのアップロードを実装しようとしています。私はこの優れた例に基づいています http://gregdoesit.com/2009/10/file-upload-in-silverlight-a-simple-solution/
UploadChunk() 呼び出しチェーンを開始するために使用するコードは次のとおりです。
public void uploadPackage(String packagePath)
{
string[] pathSplit = packagePath.Split('\\');
_fileName = pathSplit[1];
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream packageFile = isf.OpenFile(packagePath, System.IO.FileMode.Open, FileAccess.Read);
_bytesUploaded = 0;
_bytesTotal = packageFile.Length;
_data = packageFile;
try
{
UploadFileChunk();
}
catch (Exception ex)
{
}
}
wc_OpenWriteCompleted イベントが発生するまで、すべてがうまく機能しているようです。次のように実装されます。
if (e.Error == null)
{
object[] objArr = e.UserState as object[];
byte[] fileContent = objArr[0] as byte[]; // NullReferenceException
int bytesRead = Convert.ToInt32(objArr[1]);
Stream outputStream = e.Result;
outputStream.Write(fileContent, 0, bytesRead);
outputStream.Close();
}
3 行目の objArr は割り当てられませんが、e.UserState には null 以外の値があります。これにより、4 行目で NullReferenceException が発生します。objArr は null です。
問題の原因は何ですか? 私は本当にこれにこだわっています。あなたの助けを本当に感謝します.