gpt4 book ai didi

javascript - DropzoneJS中如何获取上传文件列表中的索引

转载 作者:行者123 更新时间:2023-12-03 07:58:18 28 4
gpt4 key购买 nike

我正在练习 dropzoneJS,我想知道如何获取列表中某个文件的索引,因为我想删除与我上传的文件相关的数组元素。

我创建了一个名为 uploadedImages 的数组。

var uploadedImages = []; //I somehow made it to store the image array from database

我想将addedfile函数上的文件名存储到uploadImages

myDropzone.on("addedfile", function(file) {
uploadedImages.push(file.name);

});

然后从删除的文件中的uploadedImages中过滤掉图像,但我是使用Dropzone的file.name来完成的,但是如果我有大量同名图像怎么办或者不知何故我多次上传同一个文件。我认为更好的方法是找到索引。

myDropzone.on("removedfile", function(file) {
var filterUpload = uploadedImages.filter(function(img_file){
return img_file != file.name;
});
uploadedImages = filterUpload;
});

请提出任何建议。

提前谢谢大家。

最佳答案

服务器端

在服务器端成功验证并上传后,将图像信息存储在数据库中。然后获取imageID(数据库表中最后插入的ID)并将其存储在$_SESSION数组中:

$_SESSION["uploadedImages"][$imageID] = fileName;

在 PHP 代码末尾输出带有文件 ID 的 json 响应:

$out = array("fileID"=>$imageID);
echo json_encode($out);

客户端

在 Dropzone 回调中使用该文件 ID 并将其存储在 File 对象中,如下所示:

dropZone.on("success", function(file, response){
obj = JSON.parse(response);
//Save file id returned from server:
file.id = obj.fileID;
});

现在,当删除文件时,将存储的 fileID 发送到服务器:

dropZone.on("removedfile", function(file){
//Delete uploaded file from server:
var imageID = file.id;
$.post("upload.php","deleteImage="+imageID, function(data){
alert("removed")
});
});

然后只需在 upload.php 中使用 ID 从数据库和 $_SESSION 数组中删除图像。

关于javascript - DropzoneJS中如何获取上传文件列表中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706366/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com