Kendoui Uploader обеспечивает загрузку одного файла на загрузку страницы

У меня есть страница, на которой пользователь может загружать изображения на мой сайт.

Я хочу, чтобы пользователи, которые не зарегистрированы на сайте, могли загружать только один раз, это идет вместе с другой информацией, которую они вводят в форму. Конечно, можно загрузить, а затем обновить страницу, но это будет совершенно новая запись в базе данных, т.е. у них не может быть более одного изображения для каждой записи базы данных.

Пользователи, которые зарегистрированы и вошли в систему, могут загружать несколько изображений в форму. Это не является проблемой.

Моя проблема в том, что я хотел бы иметь надежное решение для предотвращения повторной загрузки незарегистрированными пользователями.

Я мог бы удалить или отключить ввод загрузки после завершения загрузки, но это кажется неуклюжим, и любой, у кого есть хоть немного мозгов, может легко обойти это, вернув поле ввода обратно с помощью инспектора кода браузера.

Вот мой javascript для загрузчика Kendoui:

$('#files').kendoUpload({
    multiple: function()
    {
        var r;
        call({call: 'user->isloggedin'}, function(data) {
            if (data == 1)
            {
                r = true
            } else {
                r = false
            }
        }, false);
        return r;
    },
    async: {
        saveUrl: ROOT + 'share/upload',
        removeUrl: ROOT + 'share/remove',
        autoUpload: true
    },
    localization: {
        select: 'Select car(s) to upload...',
        remove: 'Delete'
    },
    error: function(e) {

        var msg = '<b>' + e.files[0].extension + '</b> files can not be uploaded.';
        modalError(msg, 'Upload error');
    },
    upload: function(e) // When each image finishes uploading...
    {

    },
    progress: function(e)
    {

    },
    success: function(e)
    {
        var name = "_" + e.files[0].name.replace(".", "_");
        if (e.operation == 'upload')
        {
            $('#previews').append('<img style="display:none;" id="' + name + '" src="' + ROOT + 'cars/thumbs/' + e.files[0].name.toLowerCase() + '"/>');
            $('#' + name).fadeIn('slow');
        }
        else if (e.operation == 'remove')
        {
            $('#' + name).fadeOut('slow', function() {
                $('#' + name).remove();
            })
        }
    }
})

person imperium2335    schedule 26.01.2014    source источник


Ответы (1)


Почему вы не используете локальное хранилище для отслеживания/сохранения, когда незарегистрированные пользователи загружают изображение

person Dalorzo    schedule 26.01.2014
comment
Пожалуйста, не могли бы вы расширить это или включить пример? - person imperium2335; 26.01.2014