.net 下载包含数据库表中信息的.srt文件

toiithl6  于 11个月前  发布在  .NET
关注(0)|答案(1)|浏览(82)

我做这个网站下载字幕。现在我有这个功能上传:

using (StreamReader sr = new StreamReader(file.InputStream, Encoding.Default, true))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        srtContent += line + '\0';
    }
}

SubtitleFile item = new SubtitleFile();
UpdateModel(item);
item.state = State.Edit;
item.SubtitleText = srtContent;
item.name = char.ToUpper(item.name[0]) + item.name.Substring(1);
repo.AddSubtitle(item);
repo.Save();

ModelState.Clear();

字符串
它会把srtContent上传到我的数据库SubtitleText中,
现在我不知何故需要能够再次下载这个。到目前为止,我只有一个超链接到一个视图,我称之为下载器,但这是所有我到目前为止的下载器。
我所缺少的是一种方法来获取给定的ID信息,并进行某种streamwriter或其他操作,然后将信息放回一个新文件中,

Model.name + '.srt'


上面的文字和我最初抄的一模一样
希望我能让你理解。所有建设性的帮助都很感激。

4sup72z8

4sup72z81#

假设信息存储在数据库中,我们将使用System.Data.SqlClient命名空间。

SqlConnection myConnection = new SqlConnection("your connection string");
myConnection.Open();
string id = "my_id";
string text;
string fileName;
SqlCommand query = new SqlCommand();
query.CommandText = "SELECT FileName, SubtitleText FROM Subtitles WHERE ID = '@id'";
query.Parameters.AddWithValue("@id", id);
query.Connection = myConnection;
SqlDataReader data = query.ExecuteReader(); 
while (data.Read()) {
text = (string)data["SubtitleText"];
fileName = (string)data["FileName"];
}
using (FileStream fs = File.Create(file + ".srt")) {
File.WriteAllText(file, text);
}

字符串
这是一个糟糕的代码,但它大致给出了你可以做些什么来实现你的目标的想法(正如我所理解的 *)。
补充:英语不是我的第一语言,所以请原谅我的错误。

相关问题