如何在SQL Server中存储HttpPostedFile?

时间:2013-07-10 17:44:44

标签: c# asp.net sql sql-server file-upload

我试图实现www.dropzonejs.com网站上的演示,但我无法做到它应该做的事情。我将它连接到数据库,以便我可以将上传的文件信息的副本发送到数据库。有没有人在asp.net c#中做过这个明确的教程?我如何控制我拥有的内容,一旦文件被删除,我将启动数据库连接的方法?

html:

  <html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <script src="~/Scripts/dropzone.js"></script>
    <link href="~/Content/dropzone.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form class="dropzone dz-clickable">
        <div class="dz-default dz-message">
            <span>DRAG & DROP FILES HERE</span>
        </div>
    </form>
</body>
</html>

从另一个stackoverflow帖子中尝试过这个但是不确定它是否正在执行任何不会传递到foreach循环的内容:

 protected void Page_Load(object sender, EventArgs e)
        {
            foreach (string s in Request.Files)
            {
                HttpPostedFile file = Request.Files[s];

                int filesSizeInBytes = file.ContentLength;
                string fileName = Request.Headers["X-File-Name"];
                string fileExtension = "";

                if (!string.IsNullOrEmpty(fileName))
                    fileExtension = Path.GetExtension(fileName);

                string savedFileName = Path.Combine(@"C:\temp\", Guid.NewGuid().ToString() + fileExtension);
                file.SaveAs(savedFileName);
            }
        }

1 个答案:

答案 0 :(得分:0)

<强>更新

如果我没弄错,上传完成后,文件保存在临时目录中,保存为文件名。

Using dropzone.js in asp.net

AngularJs, DropZone.Js, MVC4 - Drag, Drop and Preview pre-Uploaded Image(s)

下一步存储在数据库中。保存的文件(在临时目录中)存储在SQL数据库中。这就是文章:

  1. 如果你有MS SQL,那么filestreamupload filestream data from aspnet是一个很好的选择。
  2. 另一个不错的选择是fileTable
  3. 3.选项是Azure blob