M
Vielen Dank noch mal. Hat wunderbar funktioniert. Hier meine kleine Testlösung. Einige Fallstricke waren doch noch dabei - Stichwort: Content-Type
Ich habe hier die TIdHTTP Komponente verwendet. Der Content-Type wurde von mir auf:
multipart/form-data; boundary=---------------------------30218195929843
gesetzt.
Memo1->Lines->Add("Connect wird ausgeführt ...");
TMemoryStream *InStream=new TMemoryStream();
TMemoryStream *OutStream=new TMemoryStream();
// Datenblock wird zusammengesetzt und Länge bestimmt.
AnsiString TextSend;
TextSend = "-----------------------------30218195929843\r\n";
TextSend += "Content-Disposition: form-data; name=\"userfile\"; filename=\"bild.jpg\"\r\n";
TextSend += "Content-Type: application/x-msdownload\r\n\r\n";
OutStream->Write(TextSend.c_str(), strlen(TextSend.c_str()));
fstream FileBin("d:\\bild.jpg", ios::in|ios::out|ios::binary);
if (FileBin.is_open())
{
FileBin.seekg(0, ios::end);
unsigned long FileSize = streamoff(FileBin.tellg());
FileBin.seekg(0, ios::beg);
char* pBuffer = new char[FileSize];
FileBin.read(pBuffer, FileSize);
OutStream->Write(pBuffer, FileSize);
delete [] pBuffer;
}
TextSend = "\r\n-----------------------------30218195929843\r\n";
OutStream->Write(TextSend.c_str(), strlen(TextSend.c_str()));
HC->Post("http://localhost/index.php?Get=3", OutStream, InStream);
InStream->Position=0;
Memo1->Lines->LoadFromStream(InStream);
delete OutStream;
delete InStream;
Ich hoffe ich konnte damit dem einen oder anderen auch noch helfen.