ASP.NET下SQLServer 2008へのファイルインスタンスのインポート方法

4316 ワード

ASP.NETがSQL Serverにファイルをインポートするには、主にFileUploadコントロールのFileBytesプロパティが使用されます.このプロパティは、FileUploadコントロールで指定したファイルからバイト配列を返します.1.データベースの準備皆さんが理解できるように、ここでは2つのフィールドしか設計していません.1つはファイルタイプフィールドで、フィールド名はFileTypeで、もう1つはファイル内容を保存するフィールドで、フィールド名はFileContentです.データベースを作成する、データベース名はVarFile、文は以下の通りである:CREATE DATABASE VARFILE GO作成テーブル、表名はFileInOut、文は以下の通りである:USE VARFILE GO CREATE TABLE FILEINTOU(FileType nvarchar(30)not null、FileContent varbinary(max)null)2.コントロールを追加してVS 2008を実行し、ページに新しいWebサイトを作成します.aspxにFileUploadコントロールを追加します.IDはFileUpload 1です.3つのButtonボタンを同時に追加し、IDはそれぞれfileUpとfileLoadである.Textプロパティは、それぞれ「ファイルのアップロード」と「ファイルのダウンロード」に設定されています.3.コードを追加(1)名前空間を追加し、SQL Serverデータベースに接続するため、using Systemを追加する.Data.Sqlclientとusing System.Dataネーミングスペース.また、出力ストリームを設定するHTTPの文字セットが「gb 2312」文字符号化であるため、using Systemを追加する.Textネーミングスペース.また、エクスポートファイルを文字列に強型化するため、using Systemを追加する.Collections.Specializedネーミングスペース.(2)「ファイルのアップロード」ボタンのイベントコードを追加する.[ファイルをアップロード](Upload File)ボタンをクリックすると、FileUploadコントロールで選択したファイルのファイルタイプと、ファイルのバイト配列がデータベースに挿入されます.デザインビューに切り替え、「ファイルのアップロード」ボタンをダブルクリックし、「ファイルのアップロード」ボタンのイベントコードを追加します.コードは以下の通りです.
 
  
protected void fileUp_Click(object sender,EventArgs e)
{
if(FileUpload1.FileName==string.Empty)
{
Response.Write("altert(‘ ')");
return;
}
string mailto:connstr=@%22Data Source=69F638102711447\SQL2008;Initial Catalog=VarFile;Integrated Security=Ture"; //
string the Selected=FileUpload1.FileName; //
string extension=theSelected.Substring(theSelected.LastIndexOf(".")).ToLower();
if(CheckFileType(extension)) //
{

string contentType=GetContentType(extension);
string sqlstr="insert into FileInOut values(@FileType,@FileCount)"; // SQL
string sqlstrclear="truncate table FileInOut"; // SQL
SqlConnection con=new SqlConnection(connstr); //
SqlCommand cmd=new SqlCommand(sqlstr,con); // SQL
SqlCommand cmdclear=new SqlCommand(sqlstrclear,con); // SQL
//
cmd.Parameters.Add(new SqlParameter("@FileType”,SlqDbType.NvarChar,30));
cmd.Parameters["@FileType"].Value=contentType; //
cmd.Parameters.Add(new SqlParameter("@FileCount",SqlDbType.NVarChar,30)); // @FileCount
cmd.Parameters["@FileCount"].Value=FileUpload1.FileBytes;
con.Open();
cmdclear.ExecuteNonQuery(); //
cmd.ExecuteNonQuery(); //
}
}

(3)取得ファイルタイプと取得ファイルエクスポート方式の関数メソッドを追加する.まず、アップロードするファイルのタイプが指定した価格設定タイプ内にあるかどうかを確認します.
このファイルのエクスポート方法を取得し、FileTypeフィールドに保存します.コードは次のとおりです.
 
  
public static bool CheckFileType(string type)
{
StringDictionary sd=new StringDictionary(); // StringDictionary
sd.Add(".doc","application/msword");
sd.Add(".ppt","application/vnd.ms-powerpoint");
sd.Add(".xsl","application/vnd.ms-excel");
sd.Add(".rtf","application/msword");
sd.Add(".html","text/html");
sd.Add(".htm","text/html");
sd.Add(".txt","text/plain");
sd.Add(".pdf","application/pdf");
return sd.ContainsKey(type); // StringDictionary
}

public static string GetContentType(string extension) //
{StringDictionary sd=new StringDictionary();
sd.Add(".doc","application/msword");
sd.Add(".ppt","application/vnd.ms-powerpoint");
sd.Add(".xsl","application/vnd.ms-excel");
sd.Add(".rtf","application/msword");
sd.Add(".html","text/html");
sd.Add(".htm","text/html");
sd.Add(".txt","text/plain");
sd.Add(".pdf","application/pdf");
return sd[extension]; //
}

(4)ファイルをアップロードし、pdfファイルを選択し、「ファイルをアップロード」ボタンをクリックすると、図のようにデータベース内のFileInOutテーブルが開きます.