#c#
Вопрос:
Я новичок в ASP NET, мне удалось восстановить свое изображение, но я также хочу восстановить имя автора, но я не прибываю немного помогите мне, спасибо
Представление (index.cshtml)
<input type="button" id="Upload" value="Ajouter" class="btn btn-primary" />
</form>
Код Jquery и Ajax
<script>
$(document).ready(function(){
$('#Upload').click(function () {
var fileUpload = $("#files").get(0);
var files = fileUpload.files;
var auteur = $("#auteur");
// Creation d' un objet FormData
var fileData = new FormData();
// s'il y a plusieurs fichiers, parcourez chaque fichier
for (var i = 0; i < files.length; i ) {
fileData.append(files[i].name, files[i]);
}
// Ajouter plus de clés/valeurs ici si besoin
fileData.append(auteur, "Test Object values");
$.ajax({
url: '/Home/UploadFiles',
type: "POST",
processData: false,
contentType: false,
data: fileData
,
async: false,
success: function (result) {
alert(result);
},
error: function (err) {
alert(err.statusText);
}
});
});
});
</script>
Контроллер
[HttpPost]
public ActionResult UploadFiles()
{
if (Request.Files.Count > 0)
{
var files = Request.Files;
var auteur = Request.Form["auteur"];
// itération à travers plusieurs collections de fichiers
foreach (string str in files)
{
HttpPostedFileBase file = Request.Files[str] as HttpPostedFileBase;
var InputFileName = Path.GetFileName(file.FileName);
var ServerSavePath = Path.Combine(HttpContext.Server.MapPath("~/Uploads/") InputFileName);
//verification avant enregistrement
if (System.IO.File.Exists(ServerSavePath)==false)
{
//Enregistrement du fichier dans le dossier
file.SaveAs(ServerSavePath);
return Json(auteur,JsonRequestBehavior.AllowGet);
}
else
{
return Json("Le fichier existe deja");
}
}
return Json("File Uploaded Successfully!");
}
else
{
return Json("vous devez selectionner un fichier");
}
}
}
Ответ №1:
В вашем коде jQuery Ajax по адресу:
fileData.append(auteur, "Test Object values")
Когда вы запрашиваете Запрос.Форма[«автор»] убедитесь, что имя (первое в скобках) точно такое же. Это правильный путь:
fileData.append("auteur", auteur);
Ошибка заключалась в том, что вы передавали объект, а не имя.
Комментарии:
1. Спасибо. var autheur=$(«#автор»).val().мой скрипт работает хорошо
2. Отлично! Хорошая работа.