【发布时间】:2019-01-26 16:41:12
【问题描述】:
在我的 mvc net core 应用程序中,我需要实现拖放文件上传器。我找到了 Dropzone js,并希望将它用于我的目的。但无法配置它,我需要允许它上传任何 zip 文件。 我的代码:
<div class="row">
<div class="col-md-9">
<div id="dropzone">
<form action="/Home/Upload" class="dropzone needsclick dz-clickable" id="uploader">
<div class="dz-message needsclick">
Drop files here or click to upload.<br>
</div>
</form>
</div>
</div>
</div>
<script>
$(document).ready(function () {
Dropzone.options.uploader = {
paramName: "file",
maxFilesize: 256,
acceptedFiles: "application/zip,application/octet-stream,application/x-zip-compressed,multipart/x-zip,.zip",
maxFiles: 1
};
});
</script>
当然我也有控制器:
[HttpPost]
public async Task<IActionResult> Upload(IFormFile file)
{
var uploads = Path.Combine(_environment.ContentRootPath, "Uploads");
if (file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
return RedirectToAction("Index");
}
但是,应用程序仍然允许上传任何 MIME 类型的文件。哪里有问题? maxFiles 的限制也不起作用 - 它允许我上传无限数量的文件。
【问题讨论】:
-
我的朋友 DropzoneJs 哪个版本?
-
@Tomato32 来自 gitlab 的最新版本:gitlab.com/meno/dropzone/builds/artifacts/master/…
标签: asp.net-mvc asp.net-core dropzone.js