Задание имени PDF в соответствии с формой регистрации, чтобы следующий пользователь при входе в систему мог видеть свои данные в файле PDF с помощью AngularJS и Stack Overflow.

У меня есть форма регистрации, в которой запрашиваются такие данные, как имя, фамилия, адрес электронной почты и т. Д., И в конце запрашивается загрузка файла PDF. Я не использую какую-либо базу данных, я храню все детали в файле json, используя php на сервере. Я могу хранить данные, а также файл PDF в пути к каталогу, я не могу понять, как мне следует связать PDF с данными пользователя (то есть, как я могу сохранить PDF, чтобы у него было поле в файле JSON чтобы при следующем входе в систему пользователь мог видеть свой файл PDF).

Ниже приведен файл php для хранения файла pdf:

<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT');

$userId = $_POST['userId'];
$type = $_POST['type'];
$model = array();
$uploaded = false;
$found = false;
$imgDir = 'data/transcripts/';

$users = json_decode(file_get_contents('../data/studentdata.json'));
switch ($type) {
case 'cis300':
$model = $users->cis300;
break;

case 'cis400':
$model = $users->cis400;
break;

case 'cis500':
$model = $users->cis500;
break;
}
if (isset($_FILES["file"]["name"])) {
foreach ($model as $key => $user) {
if ($user->id == $userId) {
$found = true;
$temp = explode(".", $_FILES["file"]["name"]);
$newfilename =  str_replace(' ', '', ($user->firstname . $user->lastname)) . '-' . date('Y-m-d-h-m-s') . '.' . end($temp);
if (move_uploaded_file($_FILES["file"]["tmp_name"], '../data/transcripts/' . $newfilename)) {
unlink('../' . $user->tfile);
$uploaded = true;
$fileName = str_replace(' ', '', ($user->firstname . $user->lastname)) . $user->year;
$user->tfile = $imgDir . $newfilename;
echo json_encode(array('uploaded' => $uploaded, 'user' => $user));
} else {
echo json_encode(array('uploaded' => $uploaded, 'user' => array()));
}
break;
}
}
if ($found) {
unlink('../data/studentdata.json');
file_put_contents('../data/studentdata.json', json_encode($users, JSON_PRETTY_PRINT));
}
if (!$found) {
echo json_encode(array('uploaded' => $uploaded, 'user' => array()));
}
}
?>

Ниже находится угловой файл js, в котором я получаю запросы и загружаю функцию:

csel.controller('studentController', function (AppServices, $rootScope, $scope, Upload, $http, $routeParams, $timeout, $location) {

$scope.formdata.tfile = function () {
if ($scope.forms.registerForm.file.$valid && $scope.formdata.file) {
$scope.upload($scope.formdata.file);
}
};
$scope.upload = function (file) {
file.upload = Upload.upload({
url: $rootScope.baseURL + 'php/uploadT.php',
data: {
file: file,
'userId': $scope.formdata.id,
'type': $scope.formdata.type
},
});

file.upload.then(function (response) {
$timeout(function () {
console.log("CAlled in Upload");
file.result = response.data;
});
}, function (response) {
if (response.status > 0)
$scope.errorMsg = response.status + ': ' + response.data;
}, function (evt) {
file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));
});
}

Когда я нажимаю «загрузить файл», файл загружается, однако путь к файлу сохраняется в другом объекте json.

Заранее спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector