결과 : //docs.fineuploader :
![http://prntscr.com/dtvmob](https://i.stack.imgur.com/t2Vkp.png)
var galleryUploader = new qq.FineUploader({
element: document.getElementById("fine-uploader-gallery"),
template: 'qq-template-gallery',
request: {
endpoint: 'modules.php?name=Logos_9&opt=30_put&prova='+cVs['6'][p][a]['provas']['prova']
},
session: {
endpoint: 'modules.php?name=Logos_9&opt=30a_get&prova='+cVs['6'][p][a]['provas']['prova'],
refreshOnReset: true
},
thumbnails: {
placeholders: {
waitingPath: 'includes/FineUploader/placeholders/waiting-generic.png',
notAvailablePath: 'includes/FineUploader/placeholders/not_available-generic.png'
}
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png']
},
chunking: {
enabled: true,
partSize: 200000,
concurrent: {
enabled: true
},
success: {
endpoint: 'modules.php?name=Logos_9&done&opt=30_put&prova='+cVs['6'][p][a]['provas']['prova']
}
},
deleteFile: {
//not yet
},
scaling: {
sendOriginal: false,
sizes: [
//{name: "small", maxSize: 100},
{name: "", maxSize: 1684}
]
},
callbacks:{
onSessionRequestComplete: function(response, success) {
if (success) {
$.each(response, function(a, obj) {
//response[a] ex.
//{
// "id":"12",
// "name":"PROV02.jpg",
// "uuid":"aa60f02e-29a4-4826-96d3-39709b39a664",
// "size":"?",
// "aluno_id":1,
// "estado":"2",
// "thumbnailUrl":"uploads/Provas/users/User_n/1/respostas/aa60f02e-29a4-4826-96d3-39709b39a664/thumb_PROV02.jpg",
// "fileUrl":"uploads/Provas/users/User_n/1/respostas/aa60f02e-29a4-4826-96d3-39709b39a664/test_PROV02.jpg"
//}
var serverPathToFile = obj.fileUrl;
var viewTnh = document.getElementsByClassName('qq-file-id-'+a)[0].getElementsByClassName('qq-thumbnail-wrapper')[0].getElementsByClassName('qq-thumbnail-link')[0];
viewTnh.setAttribute("href", serverPathToFile);
var number = obj.aluno_id;
var viewNum = document.getElementsByClassName('qq-file-id-'+a)[0].getElementsByClassName('qq-file-info')[0].getElementsByClassName('qq-numero')[0];
viewNum.innerHTML = number;
if(obj.estado == "1") {
var corEstado = "background-color: #50FF00;";
obj.estado = "2";
}
else if(obj.estado == "2") {
var corEstado = "background-color: #FFFF00;";
obj.estado = "3";
}
else if(obj.estado == "3") {
var corEstado = "background-color: #FF0000;";
obj.estado = "1";
}
var viewTnh = document.getElementsByClassName('qq-file-id-'+a)[0];
viewTnh.setAttribute("style", corEstado);
});
}
},
onComplete: function(id, name, response) {
if (response.success) {
//response ex.
//{
//) "success":true,
// "uuid":"23d1612b-7d32-49ab-8157-dae3bf19be7a",
// "name":"PROV08.jpg",
// "url":"uploads/Provas/users/Admin/1/respostas",
// "student_id":7,
// "estado":"2"
//}
//PLACE LINK IN THUMBNAIL
var serverPathToFile = response.url+'/'+response.uuid+'/'+response.name, fileItem = this.getItemByFileId(id);
var viewTnh = qq(fileItem).getByClass("qq-thumbnail-link")[0];
viewTnh.setAttribute("href", serverPathToFile);
//REDEFINE THE NEW THUMBNAIL IMAGEM
var serverPathToFile = response.url+'/'+response.uuid+'/thumb_'+response.name, fileItem = this.getItemByFileId(id);
var viewTnh = qq(fileItem).getByClass("qq-thumbnail-link")[0].getElementsByClassName('qq-thumbnail-selector')[0];
viewTnh.src = serverPathToFile;
//SHOW STUDENT NUMBER IN THUMBNAIL
var number = response.student_id;
if(number <= 0) number = '???';
var viewNum = qq(fileItem).getByClass('qq-file-info')[0].getElementsByClassName('qq-numero')[0];
viewNum.innerHTML = number;
//CHANGE COLOR IN THUMBAIL
if(response.estado == "1") {
var corEstado = "background-color: #50FF00;";
}
else if(response.estado == "2") {
var corEstado = "background-color: #FFFF00;";
}
else if(response.estado == "3") {
var corEstado = "background-color: #FF0000;";
}
var viewTnh = fileItem.getElementsByClassName('qq-thumbnail-wrapper')[0].parentNode;
viewTnh.setAttribute("style", corEstado);
}
}
},
messages:{
'onLeave':'Os ficheiros estão a ser carregados para o servidor, se sair agora o carregamento vai ser cancelado.',
'sizeError':'Free account are limited to: 29.297 GB, please login for more options',
'emptyError':'O ficheiro {file} está vazio'
}
});
에서 ['addInitialFiles' API 방법 설명서 (HTTP를 읽어 보시기 바랍니다 .com/branch/master/api/methods.html # addInitialFiles). 메서드에 유효한 데이터를 전달하지 않습니다. 처음부터 바로 잡아야합니다. –
고마워요, 레이. 지금 일하십시오! 나는 미래의 기억과 가능한 모든 sugestion을 위해 나의 해결책을 게시 할 것이다. 지금 내가해야 할 일을 설명하겠습니다. 서버는 두 순간에 사용되는 미리보기 이미지를 생성합니다. 이미지를 업로드 한 순간의 첫 순간에 미리보기 이미지가 생성됩니다 (업로드 된 이미지의 후 처리가 있기 때문에). – dcd4u2
두 번째 순간은 세션 완료입니다. 내 실제 문제로 이동합니다. 축소판 그림이 표시되기에 이미지 렌더링을 우회해야하며 크기가 큰 이미지를 렌더링하는 데 2 초 이상 걸립니다. 각 galery는 50 개 이하의 이미지를 가지고 있으며 이는 50 개 이미지 (각각 3 ou 4 kb)를 표시하는 데 2 분 이상 걸린다는 것을 의미합니다. – dcd4u2