Správičky 2 275 Blogy 579 Fórum 14 090

Upload image na service

photo
ian
9. 3. 2010 18:14:10
Body: 2370
Najaktívnejší č.: 12

Upload image na service

Snazim sa uploadnut obr. na asmx sluzbu. Sluzba aj klient komunikuju  cez objekt Patient. Problem je ten ze na klienta prejde obr. bez problemov, ked sa snazim ale poslat obr. na sluzbu, konci to erorom:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentNullException: Buffer cannot be null.
Parameter name: buffer
at System.IO.MemoryStream..ctor(Byte[] buffer, Boolean writable)
at System.IO.MemoryStream..ctor(Byte[] buffer)
at WebService.Service.InsertNewPatient(Patient obj)
public class Patient
    
{

        public Patient()
{}

         
//.....
        public Byte [] Xray { set; get; }
    }
na strane klienta :
string path = @"D:\\1.jpeg";
            var fs
= new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read);

            Byte[] uploadImg2
= new Byte[fs.Length];
            fs.Read(uploadImg2,
0, Convert.ToInt32(fs.Length));


            objectPatient.Xray
= uploadImg2;
na strane sluzby:

            Byte[] tempImg
= obj.Xray;

            var ms
= new MemoryStream(tempImg);//hodi error

            var b
=(Bitmap)Image.FromStream(ms);

            b.Save(
@"D:\Test\test.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
nechapem ale preco, keby dakdo vedel helfnut dik

[Reakcia]

photo
Siro
9. 3. 2010 18:44:31
Body: 5205
Najaktívnejší č.: 6

RE: Upload image na service

Skontroluj si cez HTTP Analyzer či skutočne klient odosiela údaje o obrázku. Skontroluj či obj.Xray na strane servera nie je nullový - podľa mňa je.
Ďalšia poznámka, neviem prečo - ešte som nestretol človeka čo by inakšie načítal súbor z disku ako ty. (mal som 2 kolegov a rovnako ako ty) Ja to robím inak, asi som iný... aby som bol konkrétnejší dá sa to aj inak, jednoduchšie:
var b = System.IO.File.ReadAllBytes("C:\\A.jpg"); //return byte[];

Š#iro

[Reakcia]

photo
T
9. 3. 2010 20:35:24
Body: 16750
Najaktívnejší č.: 2

RE: Upload image na service

@siro:ja si zase nemapatam, kedy by som potreboval nacitat file cely do byte[] :-)

Tomáš Zeman, MCSD.NET, MCPD

[Reakcia]

photo
Siro
9. 3. 2010 20:38:23
Body: 5205
Najaktívnejší č.: 6

RE: Upload image na service

Tak na malé súbory je to efektívnejšie ako zabíjať 4 riadky navyše kódu.

Š#iro

[Reakcia]

photo
ian
9. 3. 2010 21:06:09
Body: 2370
Najaktívnejší č.: 12

RE: Upload image na service

to siro: vdaka, ja robim tak ako  som sa naucil z knih, kde to vysvetluju casto "po lopate" a prenesie sa to aj do programovania. Videl som aj horsie veci, napriklad pouzivat XOR na siforvanie :D a nebola to ziadna vermenova sifra, ci ina one-time-pad :D

[Reakcia]



Najaktívnejší užívatelia
1. 35145 b. photo vlko
2. 16750 b. photo T
3. 15610 b. photo spigi
4. 6655 b. photo dudok
5. 5705 b. photo slavof
6. 5205 b. photo siro
7. 4745 b. photo duracellko
8. 3800 b. photo Liero
9. 3690 b. photo lubolacko
10. 3625 b. photo jakub