【问题标题】:Upload File using cURL to asp.net mvc action使用 cURL 将文件上传到 asp.net mvc 操作
【发布时间】:2013-11-27 04:31:46
【问题描述】:

我正在尝试使用 cURL 从 PHP 上传文件到 asp.net mvc 4 控制器操作。 调用move_uploaded_file后文件上传成功。

.NET MVC 和 PHP 站点都托管在 IIS 下。我得到了这个 HTTP 响应:

错误请求 - 内容长度无效

有人做到了吗?

相关PHP代码:

    if(move_uploaded_file($from, $to))
    {       
        $imageFile = '@' . $to . ';type='.$_FILES['file']['type'];

        $post_data = http_build_query($_POST);
        $post_data["imageFile"] = $imageFile;

        $ch = curl_init(self::URL . '/photos/uploadphoto');                                                                      
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
        curl_setopt($ch, CURLOPT_POST, 1);                                                                      
        curl_setopt($chpg, CURLOPT_POST, count($data));
        curl_setopt($chpg, CURLOPT_POSTFIELDS, $data);                                                                                
        $result = curl_exec($ch);
        curl_close($ch); 
    }

相关.NET C#代码:

   [HttpPost]
    public ActionResult UploadPhoto(HttpPostedFileBase imagefile)
    {
        //  imageFile is null
            var file = Request.Files.Count > 0 ? Request.Files[0] : null;
        // file is also null
        ...
     }

【问题讨论】:

    标签: c# php asp.net asp.net-mvc curl


    【解决方案1】:

    你确定 $chpg 吗?我相信这是哪里出了问题,也许您需要将 $chpg 更改为 $ch,尝试使用以下 2 行代码:

    curl_setopt($ch, CURLOPT_POST, count($data));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    

    代替:

    curl_setopt($chpg, CURLOPT_POST, count($data));
    curl_setopt($chpg, CURLOPT_POSTFIELDS, $data);
    

    【讨论】:

      猜你喜欢
      • 2016-12-06
      • 2011-06-18
      • 2010-11-05
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多