/**
* @act 新浪图床上传
* @version 1.0
* @author youngxj
* @date 2025-10-27* @url http://www.youngxj.cn
*/
$(document).ready(function() {
$("input[type='file']").change(function(e) {
images_upload(this.files)
});
var obj = $('body');
obj.on('dragenter', function(e) {
e.stopPropagation();
e.preventDefault()
});
obj.on('dragover', function(e) {
e.stopPropagation();
e.preventDefault()
});
obj.on('drop', function(e) {
e.preventDefault();
images_upload(e.originalEvent.dataTransfer.files)
})
});
var url_upload = function() {
var urls = $("#urls").val();
var url_arr = urls.split("\n");
if (urls == "" || url_arr.length == 0) {
layer.alert("请贴入需要上传的网络图片地址.");
return;
}
$('#url_upload_model').modal('hide');
$('.mselector > button')[1].innerHTML = '上传中';
for (var i = 0; i < url_arr.length; i++) {
$.ajax({
url: 'https://api.yum66.cn/sinaimg.php',
type: 'GET',
data: {
img: url_arr[i]
},
cache: false,
dataType: 'json',
success: function(data) {
layer.msg('上传中');
if (typeof data.pid != 'undefined') {
$('#url-res-txt').append('https://ws3.sinaimg.cn/large/'+data.pid + '.jpg\n');
$('.mselector > button')[1].innerHTML = '成功 ' + (i + 1) + '/' + url_arr.length;
var apc = "
https://ws3.sinaimg.cn/large/" + data.pid + ".jpg
";
$('.preview').css('display', 'block');
$(".preview>hr").after(apc)
} else {
$('.mselector > button')[1].innerHTML = '第' + (i + 1) + '张上传失败'
} if (typeof data.pid != 'undefined') {
$('.mselector > button')[1].innerHTML = '上传成功'
} else {
$('.mselector > button')[1].innerHTML = '上传失败';
$('#url-res-txt').append(data.code + '\n');
layer.alert(data.code)
}
},
error: function(XMLResponse) {
layer.alert("error:" + XMLResponse.responseText)
}
})
}
};
var images_upload = function(files) {
var flag = 0;
$('textarea').empty();
$(files).each(function(key, value) {
$('.mselector > button')[0].innerHTML = '上传中';
image_form = new FormData();
image_form.append('file', value);
$.ajax({
url: 'https://api.yum66.cn/sinaimg.php?type=multipart',
type: 'POST',
data: image_form,
mimeType: 'multipart/form-data',
contentType: false,
cache: false,
processData: false,
dataType: 'json',
success: function(data) {
flag++;
if (typeof data.url != 'undefined') {
$('#url-res-txt').append('https://ws3.sinaimg.cn/large/'+data.pid + '.jpg\n');
$('.mselector > button')[0].innerHTML = '成功 ' + flag + '/' + files.length;
var apc = "
https://ws3.sinaimg.cn/large/" + data.pid + ".jpg
";
$('.preview').css('display', 'block');
$(".preview>hr").after(apc)
} else {
$('.mselector > button')[0].innerHTML = '第' + flag + '张上传失败'
} if (flag == $("input[type='file']")[0].files.length) {
if (typeof data.url != 'undefined') {
$('.mselector > button')[0].innerHTML = '上传成功'
} else {
$('.mselector > button')[0].innerHTML = '上传失败';
$('#url-res-txt').append(data.code + '\n');
layer.alert(data.code)
}
}
},
error: function(XMLResponse) {
layer.alert("error:" + XMLResponse.responseText)
}
})
})
};
document.onpaste = function(e) {
var data = e.clipboardData;
for (var i = 0; i < data.items.length; i++) {
var item = data.items[i];
if (item.kind == 'file' && item.type.match(/^image\//i)) {
var blob = item.getAsFile();
images_upload(blob)
}
}
}
var clipboard = new ClipboardJS('a');
clipboard.on('success',function(e){
e.clearSelection();
layer.msg('复制成功!');
});
clipboard.on('error',function(e){
e.clearSelection();
layer.msg('复制失败!');
});