Aşağıdaki resim yükleme js dosyası. Bununla aynı işlevi görecek kendi sitem için bir çalışma istiyorum.
Özetle:
1. Browse/Göz at tıklandığında ekranda bir popup açıldı 300x300px
2. Image file seçildi. Arkaplanda FTP'ye upload edildi.
3.
site.com/upload/abcde.jpg url oluşturuldu.
4. Popup otomatik kapandı ve bu URL dosyası bir arka sayfadaki textarea alanına olarak yapıştırıldı.
Olay bundan ibaret. Back-end kısmını ben yapabilirim. Popup açıp dosyayı yükledikten sonra dönen yanıtı arka sayfadaki textarea alanına yapıştırılması işlevi yapılacak.
Detaylı incelemek isteyen aşağıdaki dosyayı inceleyebilir.
// MOD Title: Simple Image Upload
// MOD Author: Sium < admin@imgbb.com > (N/A) http://imgbb.com/mod
// MOD Version: 2.0.0
if (typeof(imgbb_add_text) == 'undefined') {
var imgbb_lang = "en";
var imgbb_add_text = "Add image to post";
var imgbb_style = "padding:10px 0px 0px 0px;font-weight:bold;";
var imgbb_skip_textarea = new RegExp("username_list|search|recipients|signature", "i");
if (imgbb_lang == "en") {
imgbb_lang = "";
} else if (imgbb_lang.indexOf(".") === -1) {
imgbb_lang += ".";
}
if (window.location.hash) {
var imgbb_text;
var imgbb_hash;
if (window.name.indexOf("imgbb_") === -1) {
imgbb_text = window.name;
imgbb_hash = window.location.hash.substring(1).split("_");
} else {
imgbb_text = window.location.hash.substring(1);
imgbb_hash = window.name.split("_");
}
if (imgbb_text != "" && imgbb_hash.length > 1) {
if (imgbb_hash[0] == "imgbb") {
var imgbb_id = imgbb_hash[1];
imgbb_text = decodeURIComponent(imgbb_text);
if (imgbb_text.length > 20) {
if (opener != null && !opener.closed) {
var imgbb_area = opener.document.getElementsByTagName('textarea');
for (var i = 0; i < imgbb_area.length; i++) {
if (i == imgbb_id) {
var editor = false;
if (typeof opener.smf_editorArray === 'object') {
for (var A in opener.smf_editorArray) {
if (opener.smf_editorArray[A].opt.sUniqueId == imgbb_area[i].id) {
opener.smf_editorArray[A].insertText(imgbb_text.replace(new RegExp("\n", 'g'), "<br />"));
editor = true;
}
}
}
if (editor == false) {
imgbb_area[i].value = imgbb_area[i].value + imgbb_text;
}
opener.focus();
window.close();
}
}
}
}
window.location.replace("//" + imgbb_lang + "imgbb.com/upload?mode=code&url=" + encodeURIComponent(document.location.href));
}
}
}
function imgbb_insert() {
var imgbb_area = document.getElementsByTagName('textarea');
for (var i = 0; i < imgbb_area.length; i++) {
if (imgbb_area[i].name && !imgbb_skip_textarea.test(imgbb_area[i].name)) {
var attr = imgbb_area[i].getAttribute('data-imgbb');
if (attr != "true") {
var imgbb_div = document.createElement('div');
imgbb_div.setAttribute('class', "imgbb");
var imgbb_a = document.createElement('a');
imgbb_a.innerHTML = imgbb_add_text;
imgbb_a.href = "javascript:imgbb_upload(" + i + ");";
var imgbb_bullet = document.createElement('span');
imgbb_bullet.setAttribute('class', "imgbb_bullet");
imgbb_bullet.innerHTML = " ";
imgbb_div.appendChild(imgbb_bullet);
imgbb_div.appendChild(imgbb_a);
imgbb_area[i].setAttribute('data-imgbb', "true");
if (new RegExp("quick", "i").test(imgbb_area[i].name) == false && imgbb_area[i].parentNode.nextElementSibling && new RegExp("resize", "i").test(imgbb_area[i].parentNode.nextElementSibling.id)) {
imgbb_div.setAttribute('style', imgbb_style);
imgbb_area[i].parentNode.parentNode.appendChild(imgbb_div);
} else if (new RegExp("quick", "i").test(imgbb_area[i].name) == false && imgbb_area[i].nextElementSibling && new RegExp("resize", "i").test(imgbb_area[i].nextElementSibling.id)) {
imgbb_div.setAttribute('style', imgbb_style);
imgbb_area[i].parentNode.insertBefore(imgbb_div, imgbb_area[i].nextSibling);
} else if (new RegExp("quick", "i").test(imgbb_area[i].name) == false && imgbb_area[i].nextElementSibling && imgbb_area[i].nextElementSibling.nextElementSibling && new RegExp("resize", "i").test(imgbb_area[i].nextElementSibling.nextElementSibling.id)) {
imgbb_div.setAttribute('style', imgbb_style);
imgbb_area[i].parentNode.insertBefore(imgbb_div, imgbb_area[i].nextSibling.nextSibling);
} else {
if (imgbb_area[i].nextSibling.nextSibling) {
imgbb_area[i].parentNode.insertBefore(imgbb_div, imgbb_area[i].nextSibling.nextSibling);
} else if (imgbb_area[i].nextSibling) {
imgbb_area[i].parentNode.insertBefore(imgbb_div, imgbb_area[i].nextSibling);
} else {
imgbb_area[i].parentNode.appendChild(imgbb_div);
}
}
}
}
}
}
function imgbb_upload(areaid) {
window.open("//" + imgbb_lang + "imgbb.com/upload?mode=smf&url=" + encodeURIComponent(document.location.href), "imgbb_" + areaid, "resizable=yes,width=720,height=540");
return void(0);
}
if (typeof(window.addEventListener) == 'function') {
window.addEventListener('DOMContentLoaded', imgbb_insert, false);
window.addEventListener('load', imgbb_insert, false);
} else if (typeof(window.attachEvent) == 'function') {
window.attachEvent('onload', imgbb_insert);
} else {
if (window.onload != null) {
var old_onload = window.onload;
window.onload = function(e) {
old_onload(e);
imgbb_insert();
};
} else {
window.onload = imgbb_insert;
}
}
for (var i = 1; i < 12; i += 2) {
setTimeout("imgbb_insert()", i * 1000);
}
imgbb_insert();
}