gpt4 book ai didi

c# - azure Blob 和缩略图

转载 作者:行者123 更新时间:2023-12-03 04:44:09 27 4
gpt4 key购买 nike

我有两张图片clear.jpg和thumbclear.jpg,第二张是缩略图我使用以下代码从第一个创建:我还没有进行任何大小调整

  Bitmap bitmap = new Bitmap(File.InputStream);
MemoryStream st = new MemoryStream();
try
{
bitmap.Save(st, ImageFormat.Png);
return st;
}
finally
{
bitmap.Dispose();
}

然后我将两个图像上传到 blob,然后获取它们的 URI 并将它们复制/粘贴到浏览器。第一个 http://127.0.0.1:10000/devstoreaccount1/media/e1a987d1-c731-4e26-9e6c-d7a63b62f661/clear.png工作正常,

但是第二个http://127.0.0.1:10000/devstoreaccount1/media/b7ba6428-9db4-4282-8991-7a8198e7126f/thumbclear.png给我以下错误:

无法显示图像“http://...thumbclear.png”,因为它包含错误。

所以我认为它与要流式传输的位图有关。任何帮助将不胜感激。

**编辑我用来保存 blob 的代码

public static CloudBlob SaveFileToBlob(MemoryStream stream, string blobContainerName, string filename, string extension, string contentType, int fileSize)
{
if (stream != null)
{
CloudBlobContainer _BlobContainer = SessionHelper.GetBlobContainer(blobContainerName);
var permissions = new BlobContainerPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
_BlobContainer.SetPermissions(permissions);

Guid blobid = Guid.NewGuid();
var blob = _BlobContainer.GetBlobReference(blobid.ToString() + "/" + filename);
blob.UploadFromStream(stream);

blob.Metadata["FileName"] = filename;
blob.Metadata["Extension"] = extension;
blob.Metadata["FileSize"] = fileSize.ToString();
blob.SetMetadata();

blob.Properties.ContentType = contentType;
blob.SetProperties();

return blob;
}
else
return null;
}

最佳答案

解决方案是在上传到 blob 之前将流位置设置为零。

stream.Position = 0;
blob.UploadFromStream(stream);

关于c# - azure Blob 和缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com