0

質問はかなり単純で、私には理解できませんが、それでも...

もちろん、データベースはサーバー上にあります。開始時にデータベースからそのファイルを取得し、AppSettings["Active"]構成プロパティにあるフォルダーに保存するアクションが必要です。

基本的に、

public ActionResult Activate(int id)
{
    Project project = db.Projects.Find(id);

    var activeProjectData = project.XML; // project.XML returns byte[] type
    //For download (not in this method of course) i'm using something like return File(activeProjectData, "text/xml"); and that works ok

}

AppSettings["Active"]次に、そのファイルをパスに保存します。どうすればいいのかわからない。使ってみましSystem.IO.File.Create()たが、うまくいきませんでした。

どんな助けでも大歓迎です。

4

2 に答える 2

3

FileStreamを作成し、それを使用してデータを書き込むだけです。

string fileName = ConfigurationManager.AppSettings["Active"];
using(var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write) )
{
    fs.Write(project.XML, 0, project.XML.Length);
}

それ以上の制御が必要ない場合は、クラスに簡単なヘルパーメソッドがあります。File

File.WriteAllBytes(fileName, project.XML);
于 2012-10-09T17:17:05.887 に答える
0

FileStreamを使用する必要があります

SqlCommand ("select fileBin from SomeTable", connection);
byte[] buffer = (byte[]) command.ExecuteScalar ();
connection.Close();
FileStream fs = new FileStream(@"C:\filename.pdf", FileMode.Create);
fs.Write(buffer, 0, buffer.Length);
fs.Close();
于 2012-10-09T17:19:05.627 に答える