고객이 계약서 사본을 다운로드 할 수 있도록 상당히 안전한 방문 페이지를 만들었습니다.PHP/AJAX로 동적 파일로드 문제가 발생했습니다
retrieve.php를 누르면 EULA (jQuery Dialog)가 나타납니다. 서명하고 동의하면 jQuery 대화 상자가 사라집니다.
서버에 AJAX 호출을 보내 해시 된 파일 이름을 가져 오면 브라우저에서 PDF를 안전하게 볼 수있는 링크가 생성됩니다.
이제는 회사에서 JPG 버전 계약을 추가하기를 원합니다. 계약서는 당사에 어떤 서비스를 사용 하느냐에 따라 2-3 페이지가 있습니다.
내가 겪고있는 문제는 어떻게 jpg 버전에 맞는 링크를 만들 수 있습니까? 모든 것은 AJAX에서 이루어지며 AJAX에서 많은 수의 이미지를 반환하지 않는 것을 선호합니다. . JPG
사람이 할 수있는 동적 인 방법이 있나요 -
이미지 이름은 (PDF와 같은 해시)입니까?
PHP에서이 작업을 수행했지만 클라이언트 측에서 링크 생성을 실행하고 있기 때문에 작동하지 않습니다.
내 질문은 : 나는 3, 4 개의 링크 (pdf +하지만 많은 jpg가 있음)를 JSON을 통해 반환하겠습니까?
json에서 페이지 수를 다시 전달하고 링크를 동적으로 만들겠습니까? 더 좋은 해결책이 있습니까?
일부 코드 :
$.ajax({ type: 'POST',
url: 'getContractAJAX.php',
data: {
'pin' : pin.val(),
'name' : signature.val().toUpperCase(),
'lead' : '<?php echo $_GET['lead']; ?>'
}, /* end data */
cache: false,
success: function(contractId) {
if (contractId['success'] == true) {
contractExpireDate = new Date(contractId['contractExpDate']);
today = new Date();
// Log the signature.
$.post('log.php', {
signature: $("#electronicSignature").val().toUpperCase(),
pin: $("#eSpin").val(),
lead: '<?php echo $_GET['lead']; ?>',
method: 'SIGNATURE'},
function(log) {
if(log['success'] == true) {
/* DOWNLOAD IMAGES LINKS */
$("#downloadLinks").prepend("<a href='#' onclick='log(\""+contractId['contract']+"\", \"DOWNLOAD\");'><img src='img/btnDownloadPdf.png' alt='Downdload PDF' /><br />Download Contract in Adobe © PDF</a>");
} else {
alert("There was a problem! Please contact customer support.");
showDisclosure();
} /* end else */
}); /* end function(log) */
$("#dialog-confirm").dialog("close");
getContractAJAX.php :
if (isset($_POST['pin']) && isset($_POST['name']) && isset($_POST['lead'])){
$pin = $_POST['pin'];
$name = trim($_POST['name']);
$email = $converter->decode($_POST['lead']);
/*
*
*
* PDO
*
*
*/
$stmt = $dbh->prepare("SELECT contract, contractExpireDate
FROM users
WHERE emailAddress=:email AND
pin=:pin AND
concat(firstName, ' ', lastName) LIKE :name AND
contractExpireDate > NOW()
LIMIT 1");
if ($stmt->bindParam(':email', $email, PDO::PARAM_STR) &&
$stmt->bindParam(':pin', $pin, PDO::PARAM_INT) &&
$stmt->bindParam(':name', $name, PDO::PARAM_STR)) {
$stmt->execute();
$found = 0;
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $el) {
$found++;
$contract = $el['contract'];
$contractExpDate = $el['contractExpireDate'];
}
$stmt = null;
}
if ($found > 0) {
$success = true;
} else {
$success = false;
$error = "NO MATCHES FOUND >>> $email >>> $pin >>> $name";
}
}else{
$success = false;
$error = "NOT ALL PASSED";
}
header('Content-type: application/json');
$json = array("contract" => $contract,
"contractExpDate" => $contractExpDate,
"success" => $success,
"messege" => $error);
echo json_encode($json);
일부 코드를 알려주세요. 우리는 ur 코드를 알아 내는데 천재가 아니다. – Neal
이미지 이름은 (pdf와 같은 해시) - (page #)이어야한다. jpg ... 나는 그것을 표지판보다 크고 덜 넣고 .... 걸러 낸다. – Mark
show 어떤 코드! – Neal