Sql 如何在asp.net mvc中单击按钮将图像文件导入数据库
我想将名为的文件夹中的所有图像文件上载到数据库表。我已尝试执行以下操作。但它不起作用,也没有收到任何错误。请帮助我解决此问题 这是我的控球动作方法Sql 如何在asp.net mvc中单击按钮将图像文件导入数据库,sql,sql-server,ajax,asp.net-mvc,model-view-controller,Sql,Sql Server,Ajax,Asp.net Mvc,Model View Controller,我想将名为的文件夹中的所有图像文件上载到数据库表。我已尝试执行以下操作。但它不起作用,也没有收到任何错误。请帮助我解决此问题 这是我的控球动作方法 [HttpPost] public bool Upload(int? id) { try { //Path of the images in the upload folder var fullpath = Directory.GetFiles(Serv
[HttpPost]
public bool Upload(int? id)
{
try
{
//Path of the images in the upload folder
var fullpath = Directory.GetFiles(Server.MapPath("~/Uploads"));
List<string> fullPath = new List<string>();
foreach (var path in fullPath)
{
db.Execute("ImportImage"); //stored procedure
}
return true;
}
catch (Exception ex)
{
throw ex;
}
}
我想在其中移动这些图像的表
模型
伟大的您面临的问题是什么?请删除您已经问过的多余问题。您可以稍微处理一下数据类型,因此,可以将图像转换为字节,然后将其作为varbinary存储到数据库中,然后反向从代码中读取它们。因此,每个图像将在一个表中占据一行,如果您有50个图像,那么它将存储50行。。方法的其余部分是正确的还是错误的,因为当我放置断点时,我得到的完整路径为null,那么ajax呢
@using (Html.BeginForm("Upload", "Document", FormMethod.Post))
{
<input type="button" value="Upload Image" id="uploadImg" class="btn btn-primary" />
}
<script>
$("#uploadImg").click(function () {
$.ajax({
'url': "@Url.Action("Upload", "Document")",
'type': "POST"
})
});
</script>
CREATE PROCEDURE dbo.ImportImage (
@ImageFolderPath NVARCHAR (1000)
)
AS
BEGIN
DECLARE @Path2OutFile NVARCHAR (2000);
DECLARE @tsql NVARCHAR (2000);
SET NOCOUNT ON
SET @Path2OutFile = CONCAT (
@ImageFolderPath
,'C:\Users\HP\source\repos\ClickLockDB2\EAStarter\Uploads'
);
SET @tsql = 'insert into ImagesScanned (ImagesScannedId, DocumentId, ScanPage) ' +
' SELECT * ' +
'FROM Openrowset( Bulk ' + '''' + @Path2OutFile + '''' + ', Single_Blob) as img'
EXEC (@tsql)
SET NOCOUNT OFF
END
GO
public partial class ImagesScanned
{
public int ImagesScannedId { get; set; }
public int? DocumentId { get; set; }
public byte[] ScanPage { get; set; }
}