加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在Azure功能应用程序blobtrigger中设置blob的内容类型

发布时间:2020-12-15 08:35:28 所属栏目:百科 来源:网络整理
导读:我正在尝试调整上传到我的容器的图像的大小,以便为我的网站创建缩略图和我的图像的各种其他版本. 我上传的图像必须更正内容类型“image / jpeg”,但是当我使用下面的代码创建它们的新版本时,它变成“application / octet-stream”. 我在这里失踪了什么? usi
我正在尝试调整上传到我的容器的图像的大小,以便为我的网站创建缩略图和我的图像的各种其他版本.

我上传的图像必须更正内容类型“image / jpeg”,但是当我使用下面的代码创建它们的新版本时,它变成“application / octet-stream”.

我在这里失踪了什么?

using ImageResizer;
using ImageResizer.ExtensionMethods;

public static void Run(Stream myBlob,string blobname,string blobextension,Stream outputBlob,TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blobn Name:{blobname} n Size: {myBlob.Length} Bytes");

    var instructions = new Instructions
    {
        Width = 570,Mode = FitMode.Crop,Scale = ScaleMode.Both,};
    ImageBuilder.Current.Build(new ImageJob(myBlob,outputBlob,instructions));
}

编辑:解决方案.

#r "Microsoft.WindowsAzure.Storage"
using ImageResizer;
using ImageResizer.ExtensionMethods;
using Microsoft.WindowsAzure.Storage.Blob;

public static void Run(Stream myBlob,CloudBlockBlob outputBlob,Scale = ScaleMode.Both
    };

    Stream stream = new MemoryStream();
    ImageBuilder.Current.Build(new ImageJob(myBlob,stream,instructions));
    stream.Seek(0,SeekOrigin.Begin);

    outputBlob.Properties.ContentType = "image/jpeg";
    outputBlob.UploadFromStream(stream);
}

解决方法

使用流输出时,函数会将您的内容类型默认为application / octet-stream.

使用ICloudBlob类型之一,它应该允许您指定blob的内容类型.

这是一个可以作为参数绑定的类型的备忘单:https://jhaleyfiles2016.blob.core.windows.net/public/Azure%20WebJobs%20SDK%20Cheat%20Sheet%202014.pdf

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读