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


POST file contents as Byte[] from PHP application to .NET ASP

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

我的post content/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字节数组从PHP到。net WCF服务说file_get_contents()是兼容的-但我没有找到任何证据。

http://bytes.com/topic/php/answers/869014-how-convert-gif-file-byte-array-thanks声明这是不可能的。(一切皆有可能!)

我也试过使用fread() fopen()file()等的变化

PS我知道web服务工作得很好,在c++/Java等相同的脚本工作得很好。file.readAll()是唯一的区别,file_get_contents()行是…

感谢任何有见地的评论或解决我的问题的答案!

file_get_contents()兼容。它将返回文件内容的二进制字符串,这是您根据您的问题正在寻找的内容。先澄清一下。

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

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

将PHP的错误处理设置为PHP配置和日志错误的最高级别。然后监视错误日志。

还可以检查文件上传过程中的错误,PHP手册中有关于它如何工作的完整条目,包括文件上传的错误处理。