从IFormFile异常获取内存流

奥菲尔·佩尔

我上传图片,并希望将其发送到第三方服务(Cloudinary)而不将文件保存在服务器中。

public async Task<List<string>> GetImagesUrlsByImage(IFormFile image)
{
    List<string> urlList = new List<string>();
    ImageUploadParams uploadParams = new ImageUploadParams();

    using (var memoryStream = new MemoryStream())
    {
        await image.CopyToAsync(memoryStream);
        uploadParams.File = new FileDescription(image.FileName, memoryStream);
        uploadParams.EagerTransforms = new List<Transformation>
        {
            new EagerTransformation().Width(200).Height(150).Crop("scale"),
            new EagerTransformation().Width(500).Height(200).Crop("scale")
        };

        ImageUploadResult result = await _cloudinary.UploadAsync(uploadParams);
        var url = result.SecureUrl.ToString();
        urlList.Add(url);
    }

    return urlList;
}

我没有收到异常,但是Cloudinary的结果消息中有一条错误消息:“ No image”;

在调试时,我看到以下错误:

在此处输入图片说明

我需要在此代码中解决什么?

内纳德

很有可能,假设其他一切正常,您只需要在以下位置重置光标的位置即可MemoryStream

   ms.Position = 0;

如此完整的例子:

public async Task<List<string>> GetImagesUrlsByImage(IFormFile image)
{
    List<string> urlList = new List<string>();
    ImageUploadParams uploadParams = new ImageUploadParams();

    using (var memoryStream = new MemoryStream())
    {
        await image.CopyToAsync(memoryStream);

        ms.Position = 0; // set cursor to the beginning of the stream.

        uploadParams.File = new FileDescription(image.FileName, memoryStream);
        uploadParams.EagerTransforms = new List<Transformation>
        {
            new EagerTransformation().Width(200).Height(150).Crop("scale"),
            new EagerTransformation().Width(500).Height(200).Crop("scale")
        };

        ImageUploadResult result = await _cloudinary.UploadAsync(uploadParams);
        var url = result.SecureUrl.ToString();
        urlList.Add(url);
    }

    return urlList;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IFormFile复制到内存流ObjectDisposedException

来自分类Dev

在Android中下载视频时获取异常“流的意外末尾”

来自分类Dev

在Android中下载视频时获取异常“流的意外末尾”

来自分类Dev

获取静态方法的内存超出范围异常

来自分类Dev

返回的异常是“ AggregateException”而不是“ WebException”时,如何获取Web响应异常流

来自分类Dev

通过TCP C#接收图像时随机获取参数异常和内存不足异常

来自分类Dev

内存流不可扩展

来自分类Dev

休眠流损坏的异常

来自分类Dev

嵌套流异常

来自分类Dev

从PdfWriter获取字节数组,写入iTextSharp中的内存流

来自分类Dev

从PdfWriter获取字节数组,写入iTextSharp中的内存流

来自分类Dev

发送 Row.empty 时在 Spark 结构化流中获取 ArrayIndexOutOfBounds 异常

来自分类Dev

RavenDB:获取内存文档存储区中的异常“ Voron在32位模式下易于失败”。

来自分类Dev

Azure下载Blob文件流/内存流

来自分类Dev

Azure下载Blob文件流/内存流

来自分类Dev

如何使用内存流而不是文件流

来自分类Dev

如何从内存中删除流?

来自分类Dev

内存文件/流中的pylint

来自分类Dev

内存消耗Java文件流

来自分类Dev

如何从内存流填充richtextbox?

来自分类Dev

如何从内存中删除流?

来自分类Dev

SharpZipLib 不压缩内存流

来自分类Dev

Azure 流分析异常函数返回异常

来自分类Dev

OracleBulkCopy内存泄漏(内存不足异常)

来自分类Dev

内存使用率异常(内存泄漏?)

来自分类Dev

java IO异常:流关闭

来自分类Dev

忽略流操作中的异常

来自分类Dev

MyBatis引发异常“流关闭”

来自分类Dev

异常处理中的流控制

Related 相关文章

热门标签

归档