【发布时间】:2010-11-02 09:47:26
【问题描述】:
目前,我正在将 PDF 文件和图像从我的 MVC Web 应用程序上传到 sql server 数据库。这非常有效,但是我现在希望能够上传 ePub 文件。
我试图用同一个上传者来做这件事,但希望它能工作,但这是我得到的错误:
SqlException 未被用户处理 代码。
"参数化查询 '(@FileContent varbinary(max) ,@MimeType nvarchar(4000),@FileName' 需要参数“@MimeType”, 没有提供。
这也是我的控制器处理上传的代码:
public ActionResult Index()
{
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile1()) continue;
string mimeType = Request.Files[upload].ContentType;
Stream fileStream = Request.Files[upload].InputStream;
string fileName = Path.GetFileName(Request.Files[upload].FileName);
int fileLength = Request.Files[upload].ContentLength;
byte[] fileData = new byte[fileLength];
fileStream.Read(fileData, 0, fileLength);
const string connect = @"Server=localhost;Database=Images;user id=taraw; password=****;";
using (var conn = new SqlConnection(connect))
{
var qry = "INSERT INTO FileStore (FileContent, MimeType, FileName) VALUES (@FileContent, @MimeType, @FileName)";
var cmd = new SqlCommand(qry, conn);
cmd.Parameters.AddWithValue("@FileContent", fileData);
cmd.Parameters.AddWithValue("@MimeType", mimeType);
cmd.Parameters.AddWithValue("@FileName", fileName);
conn.Open();
cmd.ExecuteNonQuery();
}
}
return View();
}
我知道这个错误对于问题所在是很容易解释的,我只是不确定如何修改代码以允许它接受 ePub 文件格式。
任何帮助将不胜感激:)
【问题讨论】:
-
在旁注中,迭代
Request.Files不是 ASP.NET MVC 方法。您应该使用处理文件上传的内置模型绑定工具。否则,您将遇到可移植性和可测试性问题。 -
谢谢 bzlm,我会注意的。我从教程中遵循了这一点,但我确实意识到还有很大的改进空间。
-
asp.net/mvc 上的教程很棒。我猜你用的那个不是那里的。 :) asp.net/mvc/tutorials/getting-started-with-mvc-part1
标签: c# sql asp.net-mvc file-upload epub