抱歉,如果這可能是一個俗套的問題,但不幸的是我無法更改項目設置。 我有一個PHP頁面上的窗體,應該發佈一些文本字段和文件輸入到MVC控制器操作。發佈部分工作,我成功地在我的ViewModel接收文本數據。但是,我不知道如何接收文件(圖像,將是JPG或PNG)。輸入類型文件的ID和名稱是「UserIcon」。將PHP/CURL文件發佈到ASP.NET MVC 2控制器
在我的ActionResult與HttpPostedFileBase試着這樣說:
public virtual ActionResult RegisterJson(RegistrationModels model, HttpPostedFileBase UserIcon)
但UserIcon始終是NULL。相反,如果我有文件作爲RegistrationModels
模型的一部分:
[DisplayName("Ihr Foto")]
public string UserIcon { get; set; }
我收到捲曲路徑:@C:\\Windows\\Temp\\phpA03D.tmp;filename=Penguins.jpg;
爲字符串。
但是從這裏我完全不知道我下一步要做什麼來保存文件。我試圖添加到卷頁頭$header = array("Content-type: multipart/form-data");
,但所有發佈的表單字段都是NULL。
如果有人能指出我正確的方向,我會很感激!我想我在這裏有一個主要的停電和做一些完全錯誤的:-S
這是捲曲代碼的帖子在MVC操作:
$postargs = array();
foreach ($_FILES as $param => $file) {
$postargs[$param] = '@' . $file['tmp_name'] . ';filename=' . $file['name'] . ';';
}
$fields_string = "";
//url-ify the data for the POST
foreach($_POST as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
$fields_string .= http_build_query($postargs);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
curl_close($ch);
非常感謝!
乾杯, 卡羅琳