Otrzymuję dziwne zachowanie z libCURL. Kiedy próbuję przesłać plik, dołączając "@" do początku nazwy pliku (zgodnie z dokumentacją na stronie podręcznika biblioteki libCURL), zamiast przesyłania plików, libCURL wysyła samą nazwę pliku (z znakiem @ na początku).LibCURL wysyła nazwę pliku zamiast zawartości pliku, gdy próbuję załadować plik binarny w systemie Windows Server 2008
Działa w systemie Windows 2008 R2, z wersją x86 w wersji x86, która ma skompilowane curl (wersja 7.40.0).
Oto kod releant fragment:
$post['pic'] = "@C:\\image.png";
$ret = curl_setopt($ch, CURLOPT_POST, TRUE);
if (!$ret) die("curl_setopt CURLOPT_POST failed");
$ret = curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
if (!$ret) die("curl_setopt CURLOPT_POSTFIELDS failed");
$response = curl_exec($ch);
Ten kod działa na Linux, ale nie Windows Server 2008.
Oto dane formularz, który pojawia się:
Content-Type: multipart/form-data; \\
boundary=------------------------c74a6af8b52d997a
--------------------------c74a6af8b52d997a
Content-Disposition: form-data; name="pic"
@C:\image.png
--------------------------c74a6af8b52d997a--
Jak widać Otrzymuję @C:\image.png
zamiast zawartości.
Czy ktoś wie, dlaczego libCURL nie załadowałby zawartości pliku?