簡體   English   中英

使用cURL將文件上傳到asp.net mvc操作

[英]Upload File using cURL to asp.net mvc action

我正在嘗試使用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
        ...
     }

您確定$ chpg嗎? 我認為這是哪里出了問題,也許您需要將$ chpg更改為$ ch,請嘗試使用以下兩行代碼:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM