Tôi nhận được hành vi lạ này với libCURL. Khi tôi cố gắng tải lên tệp bằng cách gắn "@" vào đầu tên tệp (như được ghi trong trang người dùng của libCURL), thay vì nội dung tệp đang được tải lên, libCURL sẽ tự gửi tên tệp (với @ ở đầu).LibCURL gửi tên tệp chứ không phải nội dung tệp khi tôi cố tải lên tệp nhị phân trong Windows Server 2008
Điều này đang chạy trên Windows 2008 R2, với phiên bản xampp 5.6.8, có curl được biên dịch trong (phiên bản curl 7.40.0).
Dưới đây là releant đoạn mã:
$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);
Mã này hoạt động trên Linux, nhưng không phải là Windows Server 2008.
Đây là dữ liệu mẫu mà tôi nhận được:
Content-Type: multipart/form-data; \\
boundary=------------------------c74a6af8b52d997a
--------------------------c74a6af8b52d997a
Content-Disposition: form-data; name="pic"
@C:\image.png
--------------------------c74a6af8b52d997a--
Như bạn có thể nhìn thấy Tôi nhận được @C:\image.png
thay vì nội dung.
Có ai biết tại sao libCURL không tải lên nội dung tệp không?