Comment faire pour convertir un tableau d'octets en InMemoryRandomAccessStream ou IRandomAccessStream dans Windows 8

maintenant, j'ai eu un problème qui est comment convertir un tableau d'octets à InMemoryRandomAccessStream ou IRandomAccessStream dans windows 8?

C'est mon code mais Il ne fonctionne pas, consultez le code suivant

internal static async Task<InMemoryRandomAccessStream> ConvertTo(byte[] arr)
{
    InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream();
    Stream stream = randomAccessStream.AsStream();
    await stream.WriteAsync(arr, 0, arr.Length);
    await stream.FlushAsync();

    return randomAccessStream;
}

Puis-je créer l'RandomAccessStreamReference et de définir la requête datapack afin de partager l'image sur les autres app

    private static async void OnDeferredImageStreamRequestedHandler(DataProviderRequest Request)
    {
        DataProviderDeferral deferral = Request.GetDeferral();
        InMemoryRandomAccessStream stream = await ConvertTo(arr);
        RandomAccessStreamReference referenceStream =
                    RandomAccessStreamReference.CreateFromStream(stream);
        Request.SetData(referenceStream);
    }

Mais le résultat est que je ne peux pas partager l'image du tableau d'octets à d'autres app, est-ce que mon code a un problème? À mon avis, l'erreur se produit lors de la conversion byte[] pour InMemoryRandomAccessStream, mais il ne lance pas d'exception.

Ce que quelqu'un sait comment faire? Et aussi si vous pouvez convertir le tableau d'octets IRandomAccessStream, la même chose peut m'aider. Ou une autre erreur dans mon code?

source d'informationauteur Alen Lee | 2013-05-06