将图像保存到数据库

时间:2013-12-31 10:52:04

标签: .net asp.net-mvc-2

在我的.net项目中我需要将图像上传到sql server。 我的视图类包含

<div class="editor-label">
    <%: Html.LabelFor(model => model.image) %>
</div>
<div class="editor-field">
    <%: Html.TextBoxFor(model => model.image, new { type = "file" })%>
    <%: Html.ValidationMessageFor(model => model.image) %>
</div>

模型类包含  public byte[] image { get; set; } 。如何将此模型保存到数据库 而直接保存这个我,得到错误---&gt; 输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非空白字符。

2 个答案:

答案 0 :(得分:0)

您应该使用文件类型输入

<%: Html.Label("Select Image") %>
<input id="File1" name="File1" type="file"  />

在代码调用中输入像我在mvc中所做的那样输入

string imageSavePath = null;
            string fileName = null;
            if (Request.Files.Count > 0)
            {
                if (Request.Files[0].ContentLength > 0)
                {

                    fileName = Guid.NewGuid().ToString() + Path.GetExtension(Request.Files[0].FileName);
                    imageSavePath = Path.Combine(Server.MapPath(Config.CategoryImageRelativePath), fileName);
                    Request.Files[0].SaveAs(imageSavePath);
                }
            }

我保存了用于在文件夹中保存图像的基本路径     Config.CategoryImageRelativePath 它返回图像将保存的文件夹路径

答案 1 :(得分:-1)

为什么不在ftp服务器中保存图像并将数据库设置为位置?