0

我正在尝试在我的 WP7 应用程序中直接从独立存储实现文件上传。我基于这个优秀的例子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 具有非空值。这会导致第 4 行中的 NullReferenceException,objArr 为空。

什么可能导致问题?我真的坚持这个,我真的很感激你的帮助。

4

0 回答 0