3
Я храню файлы в базе данных, и это код, который я использую, и он работает при добавлении данных, но теперь я хочу вернуть его обратно. Как я могу это сделать?получить поле данных varbinary из базы данных SQL
string filename = FileUploader.PostedFile.FileName;
string filecontent = FileUploader.PostedFile.ContentType;
int filesize = FileUploader.PostedFile.ContentLength;
string filepath = System.IO.Path.GetFileName(filename);
FileUploader.PostedFile.SaveAs("c:\\try\\" + filepath);
byte[] fileData = new byte[FileUploader.PostedFile.ContentLength];
FileUploader.PostedFile.InputStream.Read(fileData, 0, fileData.Length);
string originalName = Path.GetFileName(FileUploader.PostedFile.FileName);
con.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["FAQ"].ToString();
con.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO Files(FileData) VALUES (@binaryValue)", con))
{
// Replace 8000, below, with the correct size of the field
cmd.Parameters.Add("@binaryValue", SqlDbType.VarBinary, fileData.Length).Value = fileData;
cmd.ExecuteNonQuery();
con.Close();
}
спасибо человеку. но не возражаете, если я добавлю что-то к вопросу. как я могу поместить эту дату в файл и загрузить этот файл? заранее спасибо. –
Ошибка в строке byte [] fileData = (byte []) sqlRead [0] .Value; SqlDataReader не имеет метода «Значение», который будет вызываться! –
fileCreate.Write (fileDate) должен быть fileCreate.Write (fileData) – DrLazer