1
Я хотел, чтобы загрузить изображение в форме AJAX и сделал это со ссылкой на эту Articleзагрузки файла с помощью AnguarJS
То, что я сделал:
Контроллер:
$scope.uploadImage = function() {
var result;
var formdata = new FormData();
var fileInput = document.getElementById('fileInput');
for (var i = 0; i < fileInput.files.length; i++) {
formdata.append(fileInput.files[i].name, fileInput.files[i]);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', '/Common/Image_upload?imageType=' + $scope.imageType);
xhr.send(formdata);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}
};
Вид:
<form id="uploader" ng-submit="uploadImage()">
<input id="fileInput" type="file">
<input type="submit" value="Upload file" />
</form>
MVC контроллер:
[HttpPost]
public JsonResult Image_upload(string imageType)
{
....
success = ProductImage_insert(Image);
message = success ? "Image uploaded successfully!" : "Image was not uploaded!";
return Json(message, JsonRequestBehavior.AllowGet);
}
Требование: мне нужно, чтобы поймать этот ответ JSON в контроллере, как я могу это сделать?
Заранее спасибо.
можно добавить часть после того, как вар FileInput в сервис/фабричный метод ? – RandomUser
также мне нужно отправить строку 'type = 'Product'' в метод действия, как я могу это сделать? – RandomUser
@RandomUser вы можете отправить его с параметром строки запроса (как это было в вашем примере) или настраиваемым заголовком HTTP. –