Я пытаюсь загрузить изображение в таблицу, но совсем не радуюсь.
Я использовал процедуру сохранения и зашифровал строки подключения в настройках приложения и использую уровень данных для доступа к объектам.
string FilePath = FileUpload1.PostedFile.FileName;
string FileName = Path.GetFileName(FilePath);
string ext = Path.GetExtension(FileName);
string ContentType = string.Empty;
switch (ext)
{
case ".jpg":
ContentType = "Image/jpg";
break;
case ".png":
ContentType = "Image/png";
break;
case ".gif":
ContentType = "Image/gif";
break;
}
if (ContentType != string.Empty)
{
Stream fs = FileUpload1.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
SqlCommand _SqlCom = new SqlCommand("sp_InsFoto");
_SqlCom.Parameters.Add("@imgName", SqlDbType.VarChar).Value = FileName;
_SqlCom.Parameters.Add("@Imgdata", SqlDbType.Binary).Value =bytes;
_SqlCom.Parameters.Add("@imgContentType", SqlDbType.VarChar).Value =ContentType;
obj.ExecuteNonQuery(ref _SqlCom);
И у меня есть процедура хранения, как указано ниже
CREATE PROCEDURE [dbo].[sp_InsFoto]
(
@ImgName varchar(50)
,@ImgData varbinary(MAX)
,@ImgContentType varchar(50)
)
AS INSERT INTO tbl_Fotos
(
ImgName
,ImgData
,ImgContentType
)
VALUES
(
@ImgName
,@ImgData
,@ImgContentType
)