FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Medlem
|
Jag kör C#/ASP.NET 3.5 och vill ta emot en uppladdad bild från en källa utanför C#-applikationen. Jag gör ett POST-anrop till en .ashx-sida där jag vill ta hand om bilden för att sedan kunna spara i databasen. Har försökt på olika sätt, men lyckas inte riktigt få till det.
Kod:
// ImageHandler.ashx public class ImageHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { Stream stream = context.Request.InputStream; //Image image = Image.FromStream(stream); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); string str = Convert.ToBase64String(bytes); } } Om jag tar innehållet i str och "decodar" på http://www.toastedspam.com/decode64 så får jag fram följande Kod:
----------11a9bf2ff31--------21523374577461 Content-Disposition: form-data; name="myImage"; filename="theFilename.jpg" Content-Type: image/jpeg Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABTAHQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 (forts...) EDIT: Använder man FileUpload-kontrollen i ASP.NET är det självklart inga problem att "hitta" bilden, då funkar det utmärkt med Kod:
Image image = Image.FromStream(FileUpload1.PostedFile.InputStream); |
||
![]() |
![]() |
Svara |
|
|