我正在使用asp.net MVC和sql server。我创建了一个页面,从用户那里获取一些信息,如名称,价格......以及一个图像,页面重复30次。这意味着每次用户提交公司时,所有信息保存到数据库和字段都变得清晰,用户必须提交下一个信息。现在我希望每次用户提交表单时页面都会显示之前上传的图像。但我不知道如何显示上传的图像。而且我想知道如何显示所有以前的图像。请帮帮我,给我看一些代码!非常感谢。
答案 0 :(得分:3)
如果您将Image中的Image存储为图像数据类型,我将使用自定义http处理程序在页面上显示图像。我使用类似于
的东西public class ImageHandler : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
string imageid = context.Request.QueryString["ImID"];
using (DataContext data = new DataContext())
{
var image = data.Products.Where(p => p.ID.ToString() == imageid).Select(p => p.Image).Single();
context.Response.BinaryWrite((byte[])image.ToArray());
context.Response.End();
}
}
}
要显示图像,只需将图像网址设置为
ImageHandler.ashx?ImID={Id of the database entry}
答案 1 :(得分:0)
chead23的答案是图像部分的完美。如果你想用mvc控制器做,请看看这个问题: Write binary data as a response in an ASP.NET MVC web control
Freyday的回答完成了cheads23的回答。
答案 2 :(得分:0)
您设置表单的方式非常繁琐且不实用,我建议您实施类似Flickr的图片上传/编辑功能。
例如,有一个输入框允许使用SHIFT
/ CTRL
键选择多个图像,然后上传这些图像。在下一页上,您将以缩略图的形式显示所有图像,并设置名称/价格,用户可以单击编辑,两个字段将显示一个提交按钮,并以异步方式提交更改。
或者,您可以在每张照片下方放置两个表格,并有一个提交按钮。
P.S。首先,在我们帮助您之前,您需要告诉我们您的尝试。