我使用以下内容并遇到问题,您删除了上传的图片。 itemLimit设置为6,因为有" 3"每个上传项目的图像。
hideScaled:true
所以它只显示一个带有一个删除按钮的缩略图。 如何让系统从内部对象中删除三个图像。 如果上传图像并删除几次,就会发生这种情况。
由于
$("#fine-uploader").fineUploader({
session: {
endpoint: 'imageStatus.cfm',
params : {transaction_id : 11205}
},
debug: true,
request: {
endpoint: 'upload.cfm',
params : {details : "2_250/786_05072014|4483|786|11205|2"}
},
validation: {
itemLimit: 6,
allowedExtensions: ["jpeg", "jpg", "gif" , "png"],
sizeLimit: 8000000 // 8 MiB
},
messages : {
tooManyItemsError : "Sorry but you are only able to upload 2 images"
},
deleteFile: {
enabled: true, // defaults to false
endpoint: 'upload_delete.cfm',
method: 'post',
params : {wallid : "786"}
},
retry: {
enableAuto: false
},
scaling: {
sendOriginal: true,
hideScaled: true,
sizes: [
{name: "THUMB_XX", maxSize: 113},
{name: "FULLIMAGE", maxSize: 450}
]
}
})
答案 0 :(得分:1)
您可以使用onDelete回调手动删除缩放的图像。隐藏缩放图像时,原始图像的Id将是最高ID。因此,例如,如果您上传单个文件,原始文件将具有id = 2,并且缩放的图像将具有id = 1和id = 0。如果您上传第二张图片,原始ID将为5,缩放后的图片将为3和4。
您只需要检测哪个ID正在删除,然后使用回调删除之前的2个ID。
以下示例应该可以解决问题:
$('#fine-uploader').fineUploader({
validation: {
allowedExtensions: ["gif", "jpeg", "jpg", "png", "bmp"],
acceptFiles: "image/gif, image/jpeg, image/png, image/bmp",
sizeLimit: 5000000,
itemLimit: 6
},
deleteFile: {
enabled: true,
endpoint: "/MyEndPoint/DeleteImage",
method: 'POST',
},
scaling: {
sendOriginal: true,
hideScaled: true,
sizes: [
{ name: "small", maxSize: 350 },
{ name: "large", maxSize: 800 },
]
},
callbacks: {
onDelete: function (id) {
if (id == 2)
{
$("#fine-uploader").fineUploader("deleteFile", 0);
$("#fine-uploader").fineUploader("deleteFile", 1);
}
else if (id = 5)
{
$("#fine-uploader").fineUploader("deleteFile", 3);
$("#fine-uploader").fineUploader("deleteFile", 4);
}
},
},
});
答案 1 :(得分:0)
it says that the hideScaled
option literally only hides the scaled file items in the UI时文档很严重。如果您选择隐藏这些项目并且您使用的是严格的itemLimit
,则您需要监听原始文件的删除状态更改,并触发通过API删除缩放项目的代码。< / p>