Javascript 在ASP.NET MVC中上载并更改图像的新名称
我想,当上传一个图像后,我会输入一个新的名称为图像,然后按提交后,图像将被更改为新的名称,它将保存在项目的路径,请指导我如何编写代码?非常感谢 在这里输入代码Javascript 在ASP.NET MVC中上载并更改图像的新名称,javascript,c#,asp.net,asp.net-mvc,Javascript,C#,Asp.net,Asp.net Mvc,我想,当上传一个图像后,我会输入一个新的名称为图像,然后按提交后,图像将被更改为新的名称,它将保存在项目的路径,请指导我如何编写代码?非常感谢 在这里输入代码 <div class="row"> <div class="col-sm-6"> Image Name: <input type="text" id="name"/>
<div class="row">
<div class="col-sm-6">
Image Name: <input type="text" id="name"/>
<input type="file" class="form-control" id="files" name="files">
<input type=submit/>
</div>
</div>
从视图将#name值传递到控制器方法中,以参数的形式上载文件
控制器:
public ActionResult UploadFiles(HttpPostedFileBase files, string newName) {
string newFileName = "";
if (files != null)
{
string path = HttpContext.Server.MapPath(@"~/Data/images");
bool exists = Directory.Exists(path);
if (!exists)
Directory.CreateDirectory(path);
string extension = Path.GetExtension(files.FileName);
newFileName = newName.Trim() + extension; //pass newName here
string filePath = Path.Combine(path, newFileName);
files.SaveAs(filePath);
}
return View();
}
您还可以在文件名中添加当前日期时间:
newFileName= DateTime.Now.ToString("yyyyMMdd") + "-" + newName.Trim() + extension;
嗨,Gemky,我们不会指导您编写代码。你需要自己做。当您尝试过某件事时,我们很乐意在遇到问题时为您提供帮助。您尝试了什么,在哪里运行卡住了,请发布一段代码来帮助我们指导您。我已经按照上面的问题编辑并添加了我的代码,谢谢您的回复我编辑了您的代码,但它无法从输入(文本)中获得新的名称图像。请尝试搜索“如何在mvc中以ActionResult参数的形式将值从视图传递给控制器”吗亲爱的Jimesh,我已经解决了为图像更改新名称的问题,谢谢您的帮助。:)@GemkyLa如果答案有助于您解决问题,请接受。所以其他人可以从中得到帮助。亲爱的Jimesh:是的,谢谢。但我有一个问题,调整图像的大小,它在图像的内容上有问题,当调整一个新图像的大小时,它将和以前的图像不一样。它在图像的宽度和高度上损失了一部分。我想,当调整大小,然后它会很小的imge之前和内容将不能改变图像。如果你能做到的话,请帮助我。谢谢
newFileName= DateTime.Now.ToString("yyyyMMdd") + "-" + newName.Trim() + extension;