Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

केवल sql सर्वर पर छवि संग्रहीत करने के लिए जावास्क्रिप्ट का उपयोग करके छवि को बाइट सरणी में कैसे बदलें?

मुझे एक समाधान मिला है। :)

एचटीएमएल जावास्क्रिप्ट फ़ाइल में, पहले अपलोड की गई छवि को निम्नलिखित कोड का उपयोग करके बेस 64 छवि प्रारूप में कनवर्ट करें।

var p;
var canvas = document.createElement("canvas");
var img1=document.createElement("img"); 

function getBase64Image(){     
    p=document.getElementById("fileUpload").value;
    img1.setAttribute('src', p); 
    canvas.width = img1.width; 
    canvas.height = img1.height; 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(img1, 0, 0); 
    var dataURL = canvas.toDataURL("image/png");
    alert("from getbase64 function"+dataURL );    
    return dataURL;
} 

इसलिए हमें dataURL . में अपलोड की गई इमेज का बेस 64 कोड मिला ।

अब यह BASE64 कोड भेजें (dataURL ) वेब सेवा के लिए और निम्नलिखित कोड का उपयोग करके बेस 64 स्ट्रिंग को बाइट सरणी में कनवर्ट करें और एसक्यूएल सर्वर में भी सहेजें

सी # कोड - बेस 64 को बाइट एरी में कनवर्ट करने और एसक्यूएल पर स्टोर करने के लिए

private void Form1_Load(object sender, EventArgs e) {
    int userid = 5;
    string base64="";// load base 64 code to this variable from js 
    Byte[] bitmapData = new Byte[base64.Length];
    bitmapData = Convert.FromBase64String(FixBase64ForImage(base64));
    string connstr = @"user id=sa; password=*****"; 
    database=ImageTest; 
    server="192.168.1.104";
    SqlConnection conn = new SqlConnection(connstr);
    conn.Open();
    string query;
    query = "insert into imagetable(userid,image) values(" + userid + "," + " @pic)";
    SqlParameter picparameter = new SqlParameter();
    picparameter.SqlDbType = SqlDbType.Image;
    picparameter.ParameterName = "pic";
    picparameter.Value = bitmapData;
    SqlCommand cmd = new SqlCommand(query, conn);
    cmd.Parameters.Add(picparameter);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    conn.Close();
    conn.Dispose();
}
public static string FixBase64ForImage(string image) {
    StringBuilder sbText = new StringBuilder(image, image.Length);
    sbText.Replace("\r\n", String.Empty);
    sbText.Replace(" ", String.Empty);
    return sbText.ToString();
}

आशा है आप समझ गए होंगे :) ......



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में इसकी आईडी से कॉलम का नाम प्राप्त करें:COL_NAME ()

  2. Azure SQL DB घोषणा (पूर्वावलोकन) के लिए स्पॉटलाइट क्लाउड समर्थन

  3. SQL सर्वर में प्राथमिक कुंजी

  4. यह पता लगाने के 3 तरीके कि क्या कोई कॉलम SQL सर्वर में एक कंप्यूटेड कॉलम है

  5. एक डेटाबेस से दूसरे डेटाबेस में डेटा ट्रांसफर करें