POST文件内容为Byte [],从PHP应用程序到.NET ASP

时间:2011-10-12 16:21:19

标签: php .net curl bytearray

我需要以PHP的Byte []形式将文件内容发布到网页(C#)。我已尝试使用cURLstream_context_create(),但我认为归结为我是如何读取文件的。

我的帖子内容/ CURLOPT_POSTFIELDS如下:

$data .= "\r\n--" . $boundary . "\r\n";
$data .= "Content-Disposition: form-data; name=\"file\"; filename=\"" . $files['name'][$id] . "\"\r\n";
$data .= "Content-Type: application/octet-stream\r\n\r\n";
$data .= file_get_contents($files['tmp_name'][$id]) . "\r\n";
$data .= "--" . $boundary . "--\r\n";

但这不起作用。

Post byte array from PHP to .NET WCF Servicefile_get_contents()兼容 - 但我没有找到任何证据。

http://bytes.com/topic/php/answers/869014-how-convert-gif-file-byte-array-thanks说明这是不可能的。 (没有什么是不可能的!)

我也尝试使用fread() fopen()file()等的变体

PS我知道webservice工作正常,因为在C ++ / Java等中有点相同的脚本可以正常工作。 file.readAll()file_get_contents()行的唯一区别......

感谢任何无聊的评论或解决我的困境的答案!

1 个答案:

答案 0 :(得分:1)

file_get_contents()兼容。它将返回文件内容的二进制字符串,这是您根据自己的问题寻找的内容。只是为了澄清这一点。

我假设您在其他地方有错误,或者您在错误的上下文中使用该数据。从你的问题到我的地方不清楚。

我在您的代码中看到的是,您没有进行任何错误检查和处理。

将PHP的错误处理设置为PHP配置中的最大级别并记录错误。然后监视错误日志。

同时检查文件上传过程中的错误the PHP Manual has a complete entry about how it works。文件上传的错误处理。