我正在尝试使用C#中的API将图像上传到服务器,但在上传之前,我希望调整图像大小。下面是我用来上传图片而不调整大小的代码。
private dynamic UploadImage(dynamic parameters)
{
var files = Request.Files;
var isProfilePic = Request.Form["IsProfileImage"].Value;
string virImgpath = string.Empty;
if (files.Count() > 0)
{
HttpFile file = files.FirstOrDefault();
string _imgname = string.Empty;
if (file.Value != null)
{
using (MemoryStream ms = new MemoryStream())
{
//code to upload
}
_userRepository.SaveImage(CurrentUser.Id, (isProfilePic == "true"), _imgname); // virImgpath
if (isProfilePic == "true")
{
CurrentUser.ProfileImage = virImgpath;
}
else
{
CurrentUser.BackgroundImage = virImgpath;
}
}
}
return Response.AsJson(virImgpath);
}
现在,我正在尝试通过添加以下代码来实现调整大小功能。
WebImage img = files.FirstOrDefault();
img.Resize(1000, 1000);
files = (IEnumerable<HttpFile>)img;
问题是该文件属于HttpFile
类型,Resize
方法需要WebImage
类型的对象。
答案 0 :(得分:0)
您可以使用构造函数传入流
来创建新的WebImage
var webImage = new WebImage(file.InputStream);
webImage.Resize(...,...,...,...);
https://msdn.microsoft.com/en-us/library/gg537958(v=vs.111).aspx