同步新浪Error: 40009:Error: system error, does multipart has image?解决方案

来源:互联网 发布:围巾的各种围法 知乎 编辑:程序博客网 时间:2024/06/09 20:32
使用thinksns同步图片微博到新浪微博出现的问题
Error: 40009:Error: system error, does multipart has image?
经过一步一步测试,最终将问题定位到了 addons/plugins/Login/lib/_OAuth/ 下面的 oauth.php 这里面在处理图片的时候出现里错误,错误的行数是 889 多行左右,看下面代码 其实是个foreach 循环问题


foreach($params as $parameter => $value)
            {
                //if( $parameter == 'pic' && $value{0} == '@' )
                if(in_array($parameter, array("pic", "image")))
                {
                    //
                    // $tmp = 'E:\iweibo_proj\trunk\1.txt';
                    // $url = ltrim($tmp,'@');
                    // $content = file_get_contents( $url );
                    // $filename = reset( explode( '?' , basename( $url ) ));
                    // $mime = self::get_image_mime($url); 


                    //$url = ltrim( $value , '@' );
                    $content = file_get_contents( $value );
                    $filename = reset( explode( '?' , basename( $value ) ));
                    $mime = self::get_image_mime($value); 




                    $multipartbody .= $MPboundary . "\r\n";
                    $multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . '"; filename="' . $filename .
                     '"' . "\r\n";
                    $multipartbody .= 'Content-Type: ' . $mime . "\r\n\r\n";
                    $multipartbody .= $content . "\r\n";
                }
                else
                {
                    $multipartbody .= $MPboundary . "\r\n";
                    $multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . "\"\r\n\r\n";
                    $multipartbody .= $value . "\r\n";


                }
            }


这段代码需要修改
加上了一个判断


if($sync == 'qq'){
            
            foreach($params as $parameter => $value)
            {
                //if( $parameter == 'pic' && $value{0} == '@' )
                if(in_array($parameter, array("pic", "image")))
                {
                    //
                    // $tmp = 'E:\iweibo_proj\trunk\1.txt';
                    // $url = ltrim($tmp,'@');
                    // $content = file_get_contents( $url );
                    // $filename = reset( explode( '?' , basename( $url ) ));
                    // $mime = self::get_image_mime($url); 


                    //$url = ltrim( $value , '@' );
                    $content = file_get_contents( $value );
                    $filename = reset( explode( '?' , basename( $value ) ));
                    $mime = self::get_image_mime($value); 




                    $multipartbody .= $MPboundary . "\r\n";
                    $multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . '"; filename="' . $filename .
                     '"' . "\r\n";
                    $multipartbody .= 'Content-Type: ' . $mime . "\r\n\r\n";
                    $multipartbody .= $content . "\r\n";
                }
                else
                {
                    $multipartbody .= $MPboundary . "\r\n";
                    $multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . "\"\r\n\r\n";
                    $multipartbody .= $value . "\r\n";


                }
            }
        }else{
        
        
            foreach ($params as $parameter => $value) { 


//if( $parameter == 'pic' && $value{0} == '@' )
if( in_array($parameter,array("pic","image")) && $value{0} == '@' )
{
$url = ltrim( $value , '@' );
$content = file_get_contents( $url );
$filename = reset( explode( '?' , basename( $url ) ));
$mime = self::get_image_mime($url); 


$multipartbody .= $MPboundary . "\r\n";
$multipartbody .= 'Content-Disposition: form-data; name="' . $parameter . '"; filename="' . $filename . '"'. "\r\n";
$multipartbody .= 'Content-Type: '. $mime . "\r\n\r\n";
$multipartbody .= $content. "\r\n";
}
else
{
$multipartbody .= $MPboundary . "\r\n";
$multipartbody .= 'content-disposition: form-data; name="'.$parameter."\"\r\n\r\n";
$multipartbody .= $value."\r\n";


}
            }
        
        }
原创粉丝点击