-3

我正在使用 asp.net MVC 和 sql 服务器。我创建了一个页面,该页面从用户那里获取一些信息,例如名称、价格……以及一张图片,并且该页面重复了 30 次。这意味着每次用户提交公司所有信息保存到数据库和字段变得清晰,用户必须提交下一个信息。现在我希望每次用户提交表单时,页面都会在其旁边显示以前上传的图像。但我不知道如何显示上传的图像。而且我想知道如何显示所有以前的图像。请帮帮我,给我看一些代码!非常感谢。

4

3 回答 3

3

如果您将图像作为图像数据类型存储在 SQL 中,我将使用自定义 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();
        }
    }
}

要显示图像,只需将图像 url 设置为

ImageHandler.ashx?ImID={Id of the database entry}
于 2012-10-26T15:57:20.393 回答
0

chead23 的答案是完美的图像部分。如果您想从 mvc 控制器中执行此操作,请查看以下问题: Write binary data as a response in an ASP.NET MVC web control

Freyday 的回答完成了 cheads23 的回答。

于 2012-10-26T16:23:30.440 回答
0

设置表单的方式非常繁琐且不切实际,我建议您实现类似Flickr的图像上传/编辑功能。

例如,有一个输入框,允许使用SHIFT/CTRL键选择多个图像,然后上传这些图像。在下一页上,您将拥有所有图像作为缩略图,并且要设置名称/价格,用户可以单击编辑,两个字段会出现一个提交按钮,您可以异步提交更改。

或者,您可以在每张照片下放置两个表单并使用一个提交按钮。

PS 首先,您需要向我们展示您的尝试,然后我们才能为您提供帮助。

于 2012-10-26T16:42:13.873 回答