1

ファイル情報を保存する場合:

string[] fileStream = File.ReadAllBytes(files[1]);
FileInfo fileinfo = new FileInfo(files[1]);
string fileName = Path.GetFileNameWithoutExtension(files[1]);
string extension = Path.GetExtension(files[1]);

オブジェクト [,] をデータベースに挿入する:

rowData[0, 0] = "@cvTitle";
rowData[0, 1] = fileName;
rowData[1, 0] = "@cvData";
rowData[1, 1] = fileStream;
rowData[2, 0] = "@recieveDate";
rowData[2, 1] = DateTime.Now;
rowData[3, 0] = "@cvSize";
rowData[3, 1] = fileinfo.Length;
rowData[4, 0] = "@fileTypeID";
rowData[4, 1] = extension.ToString();

しかし、正しい形式でアップロードしていません。

また、ファイルを変更せずにデータベースから同じファイルを取得するにはどうすればよいですか。

4

2 に答える 2

1

コードが機能しない理由は、ReadAllBytes コマンドの戻り値の型である byte[] ではなく string[] を使用しているためです。

byte[] fileBytes = File.ReadAllBytes(files[1]); // assuming files[1] is a string pointing to the file with a relative/absolute path
FileInfo info = new FileInfo(files[1]);
string name = Path.GetFileNameWithoutExtension(files[1]);
string extension = Path.GetExtension(files[1]);

そして、あなたの他の問題について:

byte[] fileBytes = rowData[1, 1];
于 2013-03-31T17:31:24.477 に答える
1

バイト配列ではなく文字列配列があります

画像をアップロードするための更新されたコード

byte[] fileStream = File.ReadAllBytes(files[1]);
FileInfo fileinfo = new FileInfo(files[1]);
string fileName = Path.GetFileNameWithoutExtension(files[1]);
string extension = Path.GetExtension(files[1]);

画像を取得するため

DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("Your query", Your Connection);
cmd.CommandType = CommandType.text;
da.SelectCommand = cmd;
cmd.ExecuteNonQuery();
da.Fill(dt);

それがあなたを助けることを願っています

于 2013-03-31T17:31:24.833 に答える