问题描述
我正在使用 JavaScript 捕获实时图像并将该图像以加密形式存储在数据库中。下面是在数据库中存储图像的代码。
Session["imageName"] = DateTime.Now.ToString("dd-MM-yy hh-mm-ss");
Session["imagePath"] = string.Format("{0}.png",Session["imageName"].ToString());
Session["CapturedImage"] = ResolveUrl(Session["imagePath"].ToString());
private static byte[] ConvertHexToBytes(string hex)
{
byte[] bytes = new byte[hex.Length * sizeof(char)];
System.Buffer.Blockcopy(hex.tochararray(),bytes,bytes.Length);
return bytes;
}
public static bool SaveCapturedImage(string data)
{
string url = HttpContext.Current.Session["CapturedImage"].ToString();
HttpContext.Current.Session["CapturedImage"] = null;
return true;
}
protected void btnUpload_Click1 (object sender,EventArgs e)
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
Session["hexString"] = Server.UrlEncode(reader.ReadToEnd());
string filename = Session["imageName"].ToString();
string contentType = Session["imagePath"].ToString();
using (FileStream fs = new FileStream(filename,FileMode.OpenorCreate,FileAccess.Write))
{
byte[] bytes = ConvertHexToBytes(Session["hexString"].ToString());
string constr = ConfigurationManager.ConnectionStrings["Con2"].ConnectionString;
using (sqlConnection con = new sqlConnection(constr))
{
string query = "insert into tblFiles values (@UId,@Name,@RelativeName,@ImageName,@ContentType,@Data,@uname)";
using (sqlCommand cmd = new sqlCommand(query))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@UId",txtId.Text);
cmd.Parameters.AddWithValue("@Name",txtName.Text);
cmd.Parameters.AddWithValue("@RelativeName",txtRName.Text);
cmd.Parameters.AddWithValue("@ImageName",filename);
cmd.Parameters.AddWithValue("@ContentType",contentType);
cmd.Parameters.AddWithValue("@Data",bytes);
cmd.Parameters.AddWithValue("@uname",Session["uname"].ToString());
con.open();
cmd.ExecuteNonQuery();
con.Close();
this.clear();
}
}
}
}
}
如何在下一页加载页面时解密图像。我尝试了很多东西,但都做不到。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)