SQLデータベースにBLOBファイルをアップロードします。私はファイルをダウンロードするために私のdownloading.aspx.csにリダイレクトする動的ハイパーリンクを作成します。私はそれをクリックするとBLOBファイルを取得する
、私が取得する唯一のことは、そのようなものです:
*����JFIF,,��ExifMM*� ���(1�2;%+>P?`���7��i��%��NIKON CORPORATIONNIKON D3-��'-��'Adobe Photoshop CS4 Macintosh2010:11:19 21:53:25 9�I�@d!ddGddd+�K�r� (��Ƃ�Έ"�'@�0221������ ���� � ��,��42��42��42�0100����Р�d����J����R�b���� � ��Z @(2010:11:19 20:44:392010:11:19 20:44:39 � ASCII R030100��(�HH����JFIFHH��Adobe_CM��Adobed����*
これは、このdownloading.aspxの私のPage_Loadのコードです:
protected void Page_Load(object sender, EventArgs e)
{
string filename = Request["file"].ToString();
var conString = ConfigurationManager.ConnectionStrings["LocalSqlServer"];
string strConnString = conString.ConnectionString;
SqlConnection dbConnection = new SqlConnection(strConnString);
dynamic queryString = ("SELECT Data FROM Files WHERE Name = '" + filename + "'");
SqlCommand theCommand = new SqlCommand(queryString, dbConnection);
dbConnection.Open();
SqlDataReader reader = theCommand.ExecuteReader();
if (reader.Read() && reader != null)
{
Byte[] bytes;
bytes = Encoding.UTF8.GetBytes(String.Empty);
bytes = (Byte[])reader["Data"];
Response.BinaryWrite(bytes);
reader.Close();
}
dbConnection.Close();
}
誰かが理由を教えてもらえます?ありがとうございました。
また、.cs、Visual Studioファイル、pdfもダウンロードしたいのですか?どうすればいいですか? それ以外の場合、コードは完全に機能しています。どうもありがとうございます ! – Kiwimoisi
@Emgedユーザーにストリーミングするファイルの種類を知り、コンテンツの配置とコンテンツの種類を適切に設定する必要があります。私のアドバイスは、ファイルタイプをデータベースに保存することで、バイトを分析して検出する必要はありません。 – Icarus
@Emgedあなたのファイルに適切なMIMEタイプを使用するだけです。 http://www.iana.org/assignments/media-types/image/index.html – jbtule