Cod*_*het 5 javascript dropzone.js asp.net-mvc-5
我已经决定更新这个问题,因为我仍然无法更改imageId
这是我目前的dropzone实现
$("div#UploadImage").dropzone({
url: '@Url.Action("SaveUploadedPhoto", "Listing", new { advertId = @Model.AdvertId })',
addRemoveLinks: true,
init: function () {
var myDropzone = this;
// First change the button to actually tell Dropzone to process the queue.
$("input[type=submit]").on("click", function (e) {
// Make sure that the form isn't actually being sent.
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
myDropzone.on("success", function (file, rep) {
console.log(rep.UniqueId);
fileList[i] = { "serverFileName": rep.UniqueId, "fileName": rep.UniqueId, "fileId": rep.UniqueId, "name": rep.UniqueId };
i++;
console.log(fileList);
});
myDropzone.on("removedfile", function (file) {
var rmvFile = "";
for (f = 0; f < fileList.length; f++) {
if (fileList[f].fileName == file.name) {
rmvFile = fileList[f].serverFileName;
}
}
if (rmvFile) {
$.ajax({
url: '@Url.Action("DeleteUploadedFile", "Listing")',
type: "POST",
data: { "id": rmvFile }
});
}
});
},
maxFilesize: 2,
maxFiles: 12
});
Run Code Online (Sandbox Code Playgroud)
当我上传图片时,我们将图片传递给第三方公司,该公司为该图片返回uniqueId,然后将这个uniqueId保存在我的数据库中,然后将此uniqueId传递回视图,该视图将成为上传的图像名称,I当我这样做时,我试图在dropzone的上述实现中的"成功"功能中这样做
console.log(rep.UniqueId);
Run Code Online (Sandbox Code Playgroud)
我可以看到价值及其正确.
当我在dropzone上按"删除图像"时,会调用"removedFile"函数,这不会激活到控制器,因为rmvFile是旧的图像名称,并且它在for循环中找不到匹配项,我知道这是因为当我做
console.log(rmvFile);
Run Code Online (Sandbox Code Playgroud)
它显示了旧名称,现在我的问题是我在这里做错了什么?如何将上传的图像名称或ID更改为上传完成后返回的uniqueId?所以我可以在需要时成功删除它.
我浏览了网页,尝试过的情况导致我的成功方法目前看起来如何.
在尝试了许多不同的解决方案之后,我现在已经成功地使其正常工作。
我发现在图像的 uniqueId 中执行以下操作
file.serverId['UniqueId'],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |