我一直在寻找令人敬畏的imageresizing.net工具,并且我在我的网站上成功使用了URL API。
但是,我热衷于查看托管API,并在上传照片时调整其大小。我开始构建一个使用WebImage帮助程序的非常基本的上传页面:
@using ImageResizer;
@{
WebImage photo = null;
var newFileName = "";
var imagePath = "";
if(IsPost){
photo = WebImage.GetImageFromRequest();
if(photo != null){
newFileName = Guid.NewGuid().ToString() + "_" +
Path.GetFileName(photo.FileName);
imagePath = @"images\" + newFileName;
photo.Save(@"~\" + imagePath);
}
}
}
我想在此上传中使用ImageResizing工具来调整大小/裁剪到特定大小。
下面是我需要插入的代码(我已经通过在现有图像上运行来测试它,并且它工作正常):
ImageResizer.ImageBuilder.Current.Build(imagePath,imagePath,
new ResizeSettings("width=620&height=405&mode=crop"));
任何想法的房子,我可以合并这两个,并在我保存之前调整大小?
答案 0 :(得分:1)
你太近了! Server.MapPath是您正在寻找的缺失部分。
@{
if (IsPost) {
var photo = WebImage.GetImageFromRequest();
if (photo != null) {
var filename = Guid.NewGuid().ToString() + "_" + Path.GetFileName(photo.FileName);
var localPath = Server.MapPath("~/") + @"images\" + filename;
photo.Save(localPath);
ImageResizer.ImageBuilder.Current.Build(localPath, localPath, new ImageResizer.ResizeSettings("width=620&height=405&mode=crop"));
}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My Site's Title</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="mahfile">
<input type="submit">
</form>
</body>
</html>