通常、ユーザーがアップロードした写真はデータベースに保存する必要があります。 一般的に、解決策は 2 つあります。 1. 画像が保存されているパスをデータベースに保存します。 2. バイナリ データ ストリームの形式でイメージをデータベース フィールドに直接書き込みます。 具体的な方法は次のとおりです。 1. 画像のアップロード パスをデータベースに保存します。 string uppath="";//画像のアップロードパスを保存するために使用されます//アップロードされた画像のファイル名を取得します string fileFullname = this.FileUpload1.FileName; //写真がアップロードされた時刻を取得します。時刻を写真の名前として使用すると、写真に同じ名前が付けられるのを防ぐことができます。 string dataName = DateTime.Now.ToString("yyyyMMddhhmmss"); //画像ファイル名を取得します(拡張子なし) 文字列 fileName = fileFullname.Substring(fileFullname.LastIndexOf("\\") + 1); //画像拡張子を取得します。 string type = fileFullname.Substring(fileFullname.LastIndexOf(".") + 1); // 必要な形式かどうかを判断しますif (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF") { // 指定されたパスのフォルダーに画像をアップロードします。 this.FileUpload1.SaveAs(Server.MapPath("~/upload") + "\\" + dataName + "." + type); // パスを変数に保存し、変数の値をデータベースの対応するフィールドに保存します。 uppath = "~/upload/" + dataName + "." + type; } 2. 画像をバイナリ データ ストリームとしてデータベースに直接保存します。 次の名前空間を参照します。 System.Drawing を使用します。 System.IO を使用します。 System.Data.SqlClient を使用します。 データベースを設計する場合、テーブル内の対応するフィールドタイプは画像です。 保存: //画像パス string strPath = this.FileUpload1.PostedFile.FileName.ToString (); // イメージを読み取ります FileStream fs = new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read); BinaryReader br = 新しい BinaryReader(fs); byte[] photo = br.ReadBytes((int)fs.Length); br.閉じる(); fs.Close(); //SqlConnection に保存 myConn = new SqlConnection("データ ソース=.;初期カタログ=stumanage;ユーザー ID=sa;パスワード=123"); string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )"; //データベース ステートメントを操作し、必要に応じて SqlCommand を変更します。 myComm = new SqlCommand(strComm, myConn); myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length); myComm.Parameters["@photoBinary"].Value = 写真; myConn.Open(); (myComm.ExecuteNonQuery() > 0) の場合 { this.Label1.Text = "ok"; } myConn.Close(); 読む: ...mycon.Open() を省略してデータベース文字列に接続します。 SqlCommand コマンド = 新規 SqlCommand("select stuimage from stuInfo where stuid=107", mycon); //必要に応じてクエリステートメントを変更します byte[] image = (byte[])command.ExecuteScalar (); //データベースから読み取った画像の保存パスと名前を指定します。 string strPath = "~/Upload/zhangsan.JPG"; 文字列 strPhotoPath = Server.MapPath(strPath); //上記のパスと名前に従って画像ファイルを保存します。BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate)); bw.Write(イメージ); bw.Close(); //画像を表示します this.Image1.ImageUrl = strPath; //これら 2 つの方法は、実際のニーズに応じて柔軟に選択できます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: 仮想マシンの複製に関するVirtual Boxチュートリアル図
W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...
1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...
1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...
<tbody> タグは、テーブル本体のスタイルを定義するために使用されます。基本構文 &...
Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...
序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...
一般的に言えば、HTML ドキュメント内で極端に大きな <ol> リストに遭遇する可能性...
行内では、明るい境界線の色を個別に定義できます。基本的な構文<TR ボーダーカラーライト=co...
序文innodb_data_file_path は、innodb テーブルスペース ファイルを指定す...
質問LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...
目次1. ツールの紹介2. ワークフロー3. 操作インターフェースとパラメータ設定(1)監視と再起動...
実際、これは非常に簡単です。imgにaタグを追加し、 <a href='tencent...
MySQL マルチテーブルクエリワークシートを追加する -- ユーザーテーブル (ユーザー) テーブ...
目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...
関連する依存関係をインストールするnpm i lib-flexible --save npm i p...