# File-Upload mit Curl



## stepsomatik (23. September 2008)

Für mein Webprojekt (Webserver OC4J) möchte ich ein Webformular vom Typ multipart/form-data mit Curl per shell befüllen.

Neben einigen Feldern sollten auch 2 zip-Dateien hochgeladen werden, die dann in eine ORACLE-DB als BLOB gezipt abgespeichert werden.

Ein Aufruf vom Browser aus funktioniert einwandfrei, alle Felder und auch die 2 Files werden hochgeladen und in der DB korrekt abgespeichert.

Der Aufruf sollte aber per curl erfolgen. 
Mein Shell-Aufruf sieht so aus:

curl -F "DateiA=@/home/testdaten/test1/o.isf.zip"  -F "DateiB=@/home/testdaten/test1/f.isf.zip" -F ART=Fortfuehrung -F PRIORITAET=2 -F EMAIL=XX@YY.de -F USER=BBB -F press=OK http://localhost:8888/application --trace-ascii log

In diesen Fall funktionieren alle Einträge bis auf die 2 Datein die hochgeladen werden sollen. In der DB erscheint also kein BLOB sondern "(null)".


Hier noch ein Auschnitt meines Log-Protokolls:

 ------------------------------c31ad68326dc
002c: Content-Disposition: form-data; name="DateiA"; filename="o.isf.z
006c: ip"
0071: Content-Type: application/octet-stream
0099:
=> Send data, 16384 bytes (0x4000)
0000: PK.........R.9..hT..2.P.......o.isfUT......H...HUx..........%9.$
0040: ....H...t....L>.<F..../..Y9..Y..........4.y."[E.Vw5.[Q;..mFS....
0080: ...^?............+cJ0~.!.._^?.O..g....../.....^?......?......._....

....bla bla bla .........

.&....._E(^?..\...,...06..o.+.&..r,.PV.d.&.....|fU..>.......
1640: 7..M~2.#..&Oj.G{...Q...........0d...2.m..&uu#4.Mr..\.*Aw.\VQ.49.
1680: _.b.$..M$.\
168d: .4..n2s.......]^.@.I..`..W[;.jS.."=0...:V7....i:[..4...........&
16cd: .........M......h..-.\...S..?.^?y6.!...@5.wy.......|.p~.....=U...
170d: .n..........6.. .v..p..z.......s.Lk.C;9...d..|....J..b.V7J.n..H.
174d: ...B.;.,...x.=SI..N......iu..y..B.........l..5..M........Q......
178d: A....x..........I.o...D..XeO..%O!....P.|xc.t%.4.n.4.Mv2.......u<
17cd: .........U............x#2h./....(.n..+.V`.,....8.....6.. .G...vR
180d: G.vK.^?PK...........R.9..hT..2.P.....................o.isfUT.....
184d: .HUx..PK..........@.....2...
=> Send data, 152 bytes (0x98)
0000:
0002: ------------------------------c31ad68326dc
002e: Content-Disposition: form-data; name="DateiB"; filename="f.isf.z
006e: ip"
0073: Content-Type: application/octet-stream
0096:
=> Send data, 16384 bytes (0x4000)
0000: PK.........R.9XaF.tY1..M......f.isfUT......H...HUx.............-
0040: ........N..Dx....(J..s........Z......o.yc...=.LuO..\.\.N_..f.c..
0080: ..g?~.....^?}...^?.S....._.~..W?@.^?}...7..?..^?}..O?|.....}....}..o
00c0: ...|t.{..z._...l6..+..K.....X{.g_.....p;...V..i..S#....W.d....o?
0100: ..?[.#.....o.!..Frl...*..._.e.s.....7^?.....l.^?v.....ai...g......
0140: .gol[..Hn..n..Lj...WoE.E.....^?Al^?......3..n.....i.GB....4R.V...L
0180: ~.^?.|...cnkk.q+...n)..9.....u...."~...=...m......o..H..N..i$....
01c0: 6."...........Tc6.8.....I.=.7c.....W^...1gJ
...............


Hab auch schon den Typ mitangegeben, also so
curl -F "DateiA=@/home/bich/igdb/testdaten/test1/o.isf.zip;type=application/octet-stream;" ... usw. der BLOB wird aber auch nicht abgelegt.... !

Wer hat Ideen ? Bin für sämtliche Tipps dankbar !


----------

