目前,我正在将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文件格式。
非常感谢任何帮助:)
答案 0 :(得分:0)
将ePUB作为已知类型添加到服务器的Mime类型列表中,我猜mime-type将变为db,这就是为什么会出现此错误的原因。
答案 1 :(得分:0)
发现epub文件的mimetype是application / epub + zip。在我的应用程序中指定了这个,而不是从用户那里得到它,这似乎已经成功了。文件上传和下载没有任何问题。
感谢任何评论过的人:)