Я использую Dropzone. js с. net ядро 3.1. Я могу заставить его вызывать действие моего контроллера, но я не могу заставить его посылать какие-либо дополнительные данные с запросом.
Это моя форма:
<form action="/api/photos/"
class="dropzone needsclick dz-clickable"
id="image-upload"
method="post">
<input type="hidden" name="eventId" value="1"/>
<div class="dz-message needsclick">
<span class="note needsclick">
Drop files here or click to upload.
</span>
</div>
</form>
Это мой Javascript :
<script>
Dropzone.options.imageUpload = {
dictDefaultMessage: "Drop files here or Click to Upload",
addRemoveLinks: true, // Allows for cancellation of file upload and remove thumbnail
init: function () {
myDropzone = this;
myDropzone.on("sending", function (file, xhr, data) {
data.append("message", "hello world");
console.log(data);
});
myDropzone.on("success", function (file, response) {
console.log("Success");
myDropzone.removeFile(file);
});
}
};
</script>
Это конечная точка моего контроллера
public async Task<IActionResult> PostPhoto(List<IFormFile> file)
{
..code removed..
}
Итак, как вы можете видеть, у меня есть скрытое поле в форме, которое должно было отправлять данные вместе с запросом, и Я также пытался добавить значение к данным формы через JS, но либо оно не отправляется, либо я не могу его найти. Я посмотрел в сетевой панели инструментов разработчика и вижу отправляемые изображения, но больше ничего. Или как бы найти его в контроллере, если он был отправлен? Я потратил на это целую вечность, что немного раздражает, пожалуйста, помогите!