【发布时间】:2021-02-27 13:52:00
【问题描述】:
我正在尝试将包含一些文本字段、图像文件和 pdf 文件的 FormData 对象发送到控制器中的操作。但它免费将表单数据发送到操作。在浏览器中调试不会显示任何错误或任何东西。请指导我错过了什么或做错了什么。
html
<form>
<input type="text" id="title" placeholder="Title" />
<br />
<br />
<input type="text" id="auth" placeholder="Author" />
<br />
<br />
<input type="text" id="dept" placeholder="Department" />
<br />
<br />
<input type="text" id="price" placeholder="Price" />
<br />
<br />
<input type="text" id="year" placeholder="Year published" />
<br />
<br />
<label for="jpg">Select JPEG for Cover photo</label>
<input type="file" id="jpg" />
<br />
<br />
<label for="pdf">Select PDF</label>
<input type="file" id="pdf" />
<br />
<br />
<button type="submit" onclick="uploadbookfunc()">Submit</button>
</form>
这里是javascript
function uploadbookfunc() {
var title = document.getElementById("title").value;
var author = document.getElementById("auth").value;
var department = document.getElementById("dept").value;
var price = document.getElementById("price").value;
var yearpub = document.getElementById("year").value;
const img = document.getElementById('jpg').files[0];
const pdffile = document.getElementById('pdf').files[0];
var formData = new FormData();
formData.append("Title", title);
formData.append("Author", author);
formData.append("Department", department);
formData.append("Price", price);
formData.append("YearPublished", yearpub);
formData.append("ImageFile", img);
formData.append("PdfFile", pdffile);
//console.log(formData);
$.ajax({
url: "/Upload?handler=BookUpload",
type: 'POST',
contentType: false,
processData: false,
data: formData,
success: function (response) {
alert(response);
},
failure: function (response) {
alert('failed');
}
});
}
这里是Action方法
public class UploadModel : PageModel
{
public void OnGet()
{
}
public IActionResult OnPostBookUpload()
{
MemoryStream stream = new MemoryStream();
Request.Body.CopyTo(stream);
stream.Position = 0;
using (StreamReader reader = new StreamReader(stream))
{
string requestBody = reader.ReadToEnd()
// Write to database.....
}
return new JsonResult("Success");
}
}
这是模型
public class UploadBook
{
public string Id { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public string Department { get; set; }
public double Price { get; set; }
public int YearPublished { get; set; }
public IFormFile ImageFile { get; set; }
public IFormFile PdfFile { get; set; }
}
【问题讨论】:
标签: javascript c# ajax asp.net-core multipartform-data