如何解决在 ASP.NET Core 2.2 和 Admin Lte 中提交表单后 Dropzone 无法正常工作
在过去的几天里,我一直坚持在 ASP.Net Core App 中实现 Dropzone 和 Admin Lte。所以我有用户设置公司详细信息的功能 - 名称、地址、增值税等,当然是公司标志。因此,当我尝试添加新公司时,我有一个带有“选择图像”按钮的引导模式对话框。单击时,它会打开另一个模态对话框,用户可以在其中查看所有上传的徽标、选择一个徽标并上传新徽标。对于上传,我使用的是 Dropzone。编辑公司详细信息时也是如此。
有什么问题 - 假设更改公司字段 - 例如公司名称。数据库正在相应更新,但是当我再次尝试编辑公司并转到上传图像模式时 - 那么看起来 Dropzone 没有被初始化。在更新之前它工作正常,但是当我更新时 - 它不是。我检查了控制台 - 没有错误,我在 $(document).ready 函数中添加了 dropzone 初始化,但仍然相同。我在其他应用程序中使用过 Dropzone,即使使用相同的代码,它也能正常工作,所以不确定发生了什么。这是我的js代码:
$(document).ready(function () {
Dropzone.options.UploadForm = {
uploadMultiple: true,paramName: () => "files",sending: function (file,xhr,formData) {
},addRemoveLinks: true,successmultiple: function (file,response) {
$.each(response,function (index,value) {
AddImage(value);
});
}
};
});
var minSteps = 6,maxSteps = 60,timeBetweenSteps = 100,bytesPerStep = 100000;
dropzone.uploadFiles = function (files) {
var self = this;
for (var i = 0; i < files.length; i++) {
var file = files[i];
totalSteps = Math.round(Math.min(maxSteps,Math.max(minSteps,file.size / bytesPerStep)));
for (var step = 0; step < totalSteps; step++) {
var duration = timeBetweenSteps * (step + 1);
setTimeout(function (file,totalSteps,step) {
return function () {
file.upload = {
progress: 100 * (step + 1) / totalSteps,total: file.size,bytesSent: (step + 1) * file.size / totalSteps
};
self.emit('uploadprogress',file,file.upload.progress,file.upload.bytesSent);
if (file.upload.progress == 100) {
file.status = Dropzone.SUCCESS;
self.emit("success",'success',null);
self.emit("complete",file);
self.processQueue();
}
};
}
(file,step),duration);
}
}
}
这是我更改公司名称之前的dropzone屏幕截图:
这是我更改公司名称后的另一张图片:
如果有人可以提供帮助 - 那就太好了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。