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]);

将 object[,] 插入数据库:

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

您的代码不起作用的原因是您使用的是 string[] 而不是 byte[],这是 ReadAllBytes 命令的返回类型。

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 回答