C# 在服务器上找不到生成的Sqlite db,但文件存在

C# 在服务器上找不到生成的Sqlite db,但文件存在,c#,sqlite,iis,iis-7,download,C#,Sqlite,Iis,Iis 7,Download,我正在使用c#生成一个sqlite数据库,其中包含一些表和记录。然后我将数据库url传递给客户机,以便他们可以下载它。创建sqlite文件时,名称如下所示: database_name + "_" + System.Guid.NewGuid().ToString.replace("-","") + ".sqlite" 输出就像 Test_46fcd6c66ec94620b71ac973976fb8d6.sqlite 现在,当客户端想要下载文件时,浏览器显示错误“未找到文件”,但当我删除_46

我正在使用c#生成一个sqlite数据库,其中包含一些表和记录。然后我将数据库url传递给客户机,以便他们可以下载它。创建sqlite文件时,名称如下所示:

database_name + "_" + System.Guid.NewGuid().ToString.replace("-","") + ".sqlite"
输出就像

Test_46fcd6c66ec94620b71ac973976fb8d6.sqlite
现在,当客户端想要下载文件时,浏览器显示错误“未找到文件”,但当我删除_46fcd6c66ec94620b71ac973976fb8d6并用txt替换sqlite时,将导致

Test.txt
然后,客户机就可以按预期的方式下载文件

到底是怎么回事?是.sqlite部分吗?还是guid部分? 因为我使用guid作为我的图像名称,它们工作得很好


提前感谢。

当您请求具有未定义MIME类型的文件扩展名的文件时,您会收到该错误

您只需要使用IIS-7定义扩展及其mime类型

  • 从控制面板(管理工具)打开IIS 7管理器
  • 选择所需的根网站节点
  • 双击
    MIME类型
    图标
  • 单击
    添加
    操作
  • 为扩展框和内容文件/download添加text.sqlite,您可以将application/x-sqlite3放入其中 MIME类型

如果您将文件命名为Test_46fcd6c66ec94620b71ac973976fb8d6.txt怎么办?@Steve它是这样工作的,但我宁愿(如果可能的话)不要更改文件格式,因为下载后使用的文件应更改回sqlite,我宁愿删除该部分。无论如何,把你的建议作为答案,这样我就可以接受了。再次感谢您选中这篇文章真棒,它修复了它,我今天学到了一些新东西。非常感谢你的帮助。顺便说一下,sqlite的正确内容是“application/x-sqlite3”