【发布时间】:2020-12-26 17:41:05
【问题描述】:
我想上传图像并将其插入到 oracle 中的 (BLOB) 列中,当我运行它时,它给我“完成”没有问题,但是当我检查 DB 时,照片的列是空的,有什么问题?还是可以插入到varchar?
public byte[] ConvertToBytes(HttpPostedFileBase image)
{
byte[] imageBytes = null;
BinaryReader reader = new BinaryReader(image.InputStream);
imageBytes = reader.ReadBytes((int)image.ContentLength);
return imageBytes;
}
这是将图像从 HttpPostedFileBase 转换为 byte[] 的代码 然后我将其插入名称为 Photo 的列中 public string Createcontant(string articalname, string KEYWORD_NAME, string articalbody , HttpPostedFileBase 文件)
{
Contant c1 = new Contant() ;
OracleConnection conn = new OracleConnection();
OracleCommand cmd = new OracleCommand();
if (file.ContentLength > 0)
{
c1.photo = ConvertToBytes(file);
}
try
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
cmd.Connection = conn;
conn.Open();
cmd.Parameters.AddWithValue("photo", ConvertToBytes(file));
cmd.Parameters.AddWithValue("articalname", articalname);
cmd.Parameters.AddWithValue("KEYWORD_NAME", KEYWORD_NAME);
cmd.Parameters.AddWithValue("articalbody", articalbody);
cmd.Parameters.AddWithValue("parAddedUser", HttpContext.Current.Session["UserName"].ToString());
cmd.Parameters.AddWithValue("articalbody", articalbody);
// cmd.Parameters.AddWithValue("parUserAccount", userAccount);
/***************************************************************************************/
string sql = "insert into contact" +
"( ARTICL_ID, ARTICAL_NAME, IDATE, IUSER," +
" KEYWORD_NAME, ARTICALBODY ,photo )" +
" Values " +
"( CONTANT_SEQ.nextval, :articalname,sysdate,:parAddedUser," +
" :KEYWORD_NAME,:articalbody , :photo)";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
cmd.Dispose();
cmd.Parameters.Clear();
//Response.Redirect("~/Admin/UsersManagment.aspx", false);
return "done";
}
catch (Exception ex)
{
}
finally
{
conn.Close();
}
}
【问题讨论】:
标签: oracle model-view-controller file-upload