【发布时间】:2014-01-26 16:13:27
【问题描述】:
我有一个页面,用户可以将图片上传到我的网站。
我想要的是让未注册网站的用户只能上传一次,这与他们在表单中输入的其他信息一起使用。当然可以上传,然后刷新页面,但这将是数据库中的一个全新条目,即每个数据库条目不能有多个图像。
注册并登录的用户可以在每个表单上上传多张图片。这不是问题。
我的问题是,我想要一个可靠的解决方案来防止非注册用户多次上传。
一旦上传完成,我可以删除或禁用上传输入,但这似乎很笨拙,任何有半脑的人都可以通过使用浏览器代码检查器将输入字段放回原处来轻松绕过它。
这是我为 Kendoui 上传器编写的 javascript:
$('#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();
})
}
}
})
【问题讨论】:
标签: javascript jquery kendo-ui user-input kendo-upload