| 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 med citat
|
|
|