我有一点将文件上传到数据库中的问题。 我会后的我下面的代码片段。
即时上传到该表的结构如下:
[IDEnsayo] int NOT NULL,
[Nombre] varchar(256) NULL,
[Tipo] varchar(256) NULL,
[Longitud] int NULL,
[Contenido] image NULL
这是类
public class Archivo
{
public string Nombre { get; set; }
public string Tipo { get; set; }
public long Longitud { get; set; }
public byte[] Contenido { get; set; }
}
我可以用我的应用程序没有任何错误,但在数据库中的“Contenido”为上传文件时,文件存储“0x0000000000000000 ......”。 所有与文件上传正确的其它信息。
这是我的控制器代码:
public ActionResult Add(Ensayo Ensayo, HttpPostedFileBase uploadFile)
{
var ensayo = new Ensayo { IDEnsayo = Ensayo.IDEnsayo};
ensayo.Archivo.Longitud = uploadFile.ContentLength;
ensayo.Archivo.Nombre = uploadFile.FileName;
ensayo.Archivo.Tipo = uploadFile.ContentType;
byte[] tempFile = new byte[uploadFile.ContentLength];
uploadFile.InputStream.Read(tempFile, 0, uploadFile.ContentLength);
ensayo.Archivo.Contenido = tempFile;
ensayo.SaveArchivo();
//
其他注意事项 :
- 我使用:MVC3 + SQL Server 2000中。
- 当我在测试环境中使用的应用程序(本地计算机+数据库服务器)也没有问题。 文件被正确地存储。
- 当我使用prduction环境(Web服务器+数据库服务器)文件的应用程序不能正确保存。
- IIS6生产服务器上
UPDATE
随着IE9的作品,但与Chrome不。
这是我的提交表单代码:
@using (Html.BeginForm("Add", "Archivos",FormMethod.Post, new { id = "attachment", enctype = "multipart/form-data" }))
{
@Html.HiddenFor(x => Model.IDEnsayo)
<input type="file" name="uploadFile" id="uploadFile" />
<input type="submit" value="Guardar" class="t-button"/>
}
如果有人可以提供帮助/意见,我会很感激它了很多。
谢谢。