죄송합니다. 다소 번거롭지 만 유감스럽게도 프로젝트 설정을 변경할 수 없습니다. 일부 텍스트 필드와 파일 입력을 MVC 컨트롤러 작업에 게시해야하는 PHP 페이지에 양식이 있습니다. 게시 부분이 작동하고 내 ViewModel에서 텍스트 데이터를받습니다. 그러나, 어떻게 파일을받을 (이미지, jpg 또는 png 될) 잘 모르겠다. 입력 유형 파일의 ID와 NAME은 "UserIcon"입니다. ASP.NET MVC 2 컨트롤러에 PHP/CURL로 파일 게시
는 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);
감사합니다 많이!
건배, 캐롤라인