2012-08-13 180 views
0

我有这个MVC3应用程序,我在~/Content/Resource目录中生成一个文件,所以如果用户选择该选项,我需要将其上传到数据库。我准备好了所有的逻辑。只是不确定如何解决这个问题。如何将文件从服务器文件系统上载到SQL服务器

我在我的模型已经准备好了byte[]领域,有一个生成的文件准备上传只是不知道如何将文件从服务器传递到SQL服务器......因为这有点儿糊涂不会是一个PostedFIle如此不知该如何对待它...

+0

你使用什么样的ORM框架(如果有的话)? – twoflower 2012-08-13 22:01:59

+0

实体框架4.1 CodeFirst。如果那是你的答案。 – rexdefuror 2012-08-13 22:03:56

+0

我不熟悉那个。无论如何,只要将文件的路径(简单文本字段)存储到数据库,而不是内容本身,就可以随时获得。 – twoflower 2012-08-13 22:05:31

回答

0

我设法想出了一个简单的解决方案。刚刚转换生成的文件到byte[],它现场工作。 这是代码

//Method for generating XML file 
GenerateXML(); 

FileStream stream = new FileStream(createPath, FileMode.Open, FileAccess.Read); 
BinaryReader reader = new BinaryReader(stream); 

//Reading binary data into byte[] 
byte[] file = reader.ReadBytes((int)stream.Length); 
reader.Close(); 
stream.Close(); 

// Saving byte[] to models byte[] field 
release.XMLFile = file; 

它的工作。

0

好的,这里的文章详细解释了如何去做你正在寻找的东西。 你可能完全不搭他们的做法,或者如果你有什么准备自己的,只是把你要找那些零件

Upload and Download files in database using MVC & Linq to SQL

希望这会帮助你。

+0

也许我没有把我的问题弄清楚,对不起。但我想要的是从服务器文件系统(这意味着它是一个应用程序生成的文件,而不是从用户计算机)上传文件到位于同一台服务器计算机上的SQL Server。它不是一个图像文件。 – rexdefuror 2012-08-13 22:07:57

+0

刚编辑回复,抱歉误会 – 2012-08-13 22:15:40