gpt4 book ai didi

c# - 使用 ASP.NET Core 将文件上传到 Cloudinary

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:19 26 4
gpt4 key购买 nike

我正在尝试将文件(准确地说是图像)上传到 Cloudinary。在 Cloudinary 的 .NET 文档 ( Documentation ) 中,据说文件应该像这样上传:

var uploadParams = new ImageUploadParams()
{
File = new FileDescription(@"c:\sample.jpg")
};
var uploadResult = cloudinary.Upload(uploadParams);

所以基本上,我需要文件路径来上传图像。当我对它的工作路径进行硬编码时,但显然我希望用户能够选择他自己的文件。获取我找到的文件的唯一方法是使用 IFormFile,但我可以使用它上传文件的唯一方法是先将其上传到服务器,然后获取上传文件的路径并将其转发到 Cloaudinary,但是一定是更好的方法。

那么如何让用户使用 ASP.NET Core 将文件上传到 Cloudinary?

最佳答案

基本上,Cloudinary 允许您从路径或流上传文件。

对于文件路径:

var uploadParams = new ImageUploadParams()
{
File = new FileDescription(@"c:\sample.jpg")
};
var uploadResult = cloudinary.Upload(uploadParams);

对于流:

HttpPostedFile file = fileInput.PostedFile;
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(file.FileName, file.InputStream),
};
var uploadResult = cloudinary.Upload(uploadParams);

第二种方法甚至允许您发布 byte[] 图像内容或包含图像数据的 Base64 字符串,您可以轻松将其转换为 Stream 以供上传。

//data is a byte[]
Stream stream = new MemoryStream(data);
var cloudinary = Connect();
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(GetGuid.Short(), stream),
PublicId = GetGuid.Short()
};
var uploadResult = cloudinary.Upload(uploadParams);
return uploadResult.SecureUri.AbsoluteUri;

关于c# - 使用 ASP.NET Core 将文件上传到 Cloudinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42766422/

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