0

我在此本地 URL 中使用 WebApi 上传了保存在 Azure 存储模拟器中的图像 http://127.0.0.1:10000/devstoreaccount1/imagesprofile/bvv.jpg

我可以通过浏览器访问,它会立即下载它,但是当我尝试与Android Picasso一起使用时,它不起作用!所以我首先创建了一个具有公共权限的容器:

CloudStorageAccount storageAccount =
                   CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));

        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        CloudBlobContainer container = blobClient.GetContainerReference("imagesprofile");
        container.CreateIfNotExists();
        container.SetPermissions(
        new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

并上传图片:

public async Task uploadImage(string ctn,string profileName,byte[] imageSource)
    {
        CloudStorageAccount storageAccount =
                    CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));

        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        CloudBlobContainer container = blobClient.GetContainerReference(ctn);

        CloudBlockBlob block = container.GetBlockBlobReference(profileName + ".jpg");
        using (var stream = new MemoryStream(imageSource, writable: false))
        {
           await block.UploadFromStreamAsync(stream);
        }
    }

但是当我尝试用毕加索阅读这个 URL 时,我什么也没得到:

Picasso.with(this).load("http://127.0.0.1:10000/devstoreaccount1/imagesprofile/bvv.jpg")
            .transform(new CircleTransform()).into(photo);
4

0 回答 0