Hallo Ich verwende diesen C# -Code für Bilder hochladen.Warum bekomme ich einen weiteren Charakter?
protected void UploadFile(object sender, EventArgs e)
{
string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
string contentType = FileUpload1.PostedFile.ContentType;
using (Stream fs = FileUpload1.PostedFile.InputStream)
{
using (BinaryReader br = new BinaryReader(fs))
{
byte[] bytes = br.ReadBytes((Int32)fs.Length);
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
string query = "INSERT INTO foto(FileName, ContentType, Content) VALUES (@FileName, @ContentType, @Content)";
using (MySqlCommand cmd = new MySqlCommand(query))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@FileName", filename);
cmd.Parameters.AddWithValue("@ContentType", contentType);
cmd.Parameters.AddWithValue("@Content", bytes);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
}
Response.Redirect(Request.Url.AbsoluteUri);
}
Ich lade das Bild in einem LONGBLOB Feld, dann das Bild zu zeigen, dass ich C# WebService verwenden, AJAX, JavaScript, um das Bild zu Base64String Umwandlung aber Bild wird wie angezeigt, wenn nicht vorhanden.
Hier ist mein Base64String:
Wie Sie das Problem mit diesen zusätzlichen Zeichen sehen:
AAEAAAD/////AQAAAAAAAAAPAQAAAHgBAAAC
Warum geschieht das? Und wie kann ich es lösen?
Das ist eine Serialisierungskopfzeile im Binärformat, die ungerade ist. Haben Sie sich die Daten in der Tabelle angesehen? Enthält es diese Bleibytes? Wenn nicht, müssen Sie den Code zeigen, lädt und liest die Daten vor dem ToBase64String-Aufruf –