0

次のコードを使用して Azure BLOB にアップロードする前に、WebImage ヘルパーを使用して画像のサイズを変更しようとしていますが、このエラーが発生します。

cannot convert from 'system.web.helpers.webimage' to 'system.io.stream'

コードは次のとおりです。

    public async Task<string> UploadPropertyImageAsync(HttpPostedFileBase imageToUpload)
    {
        string imageFullPath = null;
        if (imageToUpload == null || imageToUpload.ContentLength == 0 || imageToUpload.ContentLength >= 8388608)
        {
            return null;
        }
        //Image img = System.Drawing.Image.FromStream(imageToUpload);
        WebImage img = new WebImage(imageToUpload.InputStream);
        if (img.Width > 1000)
            img.Resize(1000, 1000); 
        try
        {
            CloudStorageAccount cloudStorageAccount = ConnectionString.GetConnectionString();
            CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
            CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("property");

            if (await cloudBlobContainer.CreateIfNotExistsAsync())
            {
                await cloudBlobContainer.SetPermissionsAsync(
                    new BlobContainerPermissions
                    {
                        PublicAccess = BlobContainerPublicAccessType.Blob
                    }
                    );
            }
            string imageName = Guid.NewGuid().ToString() + "-" + Path.GetExtension(img.FileName);

            CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(imageName);
            cloudBlockBlob.Properties.ContentType = img.ContentType;
            await cloudBlockBlob.UploadFromStreamAsync(img);

どこが間違っているのか分かりますか?

4

2 に答える 2

1

例外は自明です。

この行は、変数Streamではなくを期待しています。WebImage

await cloudBlockBlob.UploadFromStreamAsync(img);

ファイルを Azure にアップロードする方法を示す例はたくさんあります。たとえば、次のとおりです。

Azure へのアップロード

... そしてここ...

Windows Azure BLOB ストレージの概要

于 2016-12-12T12:04:31.383 に答える