Hi, everyone,when am using asynchronous telerik upload,but when i clicks on remove it disappering upload control also,please help me..am working on this since last 2 days...
this is my telrik
@(Html.Telerik().Upload()
.Name("attachments_" + ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
.Multiple(true)
.Async(async => async
.Save("Save", "GalleryUser", new { name = @Model, area = "" })
.Remove("Remove", "GalleryUser", new { name = @Model, area = "" })
.AutoUpload(true)
)
.ClientEvents(events => events.OnSuccess("OnSuccess_" + ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)).OnLoad("OnLoad_" + ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)))
.HtmlAttributes(new { @class = "gallery-upload-box" })
)
this is my scripts related to events
<script type="text/javascript">
var i11 = @(i1);
function OnSuccess_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
debugger;
if (e.operation == "upload") {
var imgUrl = "/Image?img=/" + encodeURIComponent("Content/UserFiles/Users/@Model/" + getFileInfo(e));
var divCont = '<div class="gallery_div '+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'
+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+
'&w=120&h=120&t=0&c=0" alt="" /><input type="text" class="gallery_textbox"'+
' id="desc_gallery_img_@(i1)_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" />'+
'<input type="checkbox" class="gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" id="gallery_img_'+
i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" /><span for="gallery_img_'+i11+
'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))">מחק</span></div>';
//var divCont = '<div class="'+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+'&w=120&h=120&t=0&c=0" alt="" /></div>';
$(".gallery_editor_wrap_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").append(divCont);
i11 = i11 + 1;
}
else if (e.operation == "remove") {
$('div[class*="'+getFileInfo(e)+'"]').remove();
}
}
var PARAM_NAME = "attachments";
function OnLoad_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
var uploadElement = $("input", this).attr("name", PARAM_NAME);
setTimeout(function () {
uploadElement.data("tUpload").name = PARAM_NAME;
}, 0);
}
function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
@{ Html.Telerik().ScriptRegistrar().OnDocumentReady(@<text>
$(".gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").live("click", function(){
var itemid = $(this).attr("id");
var imgPaht = $("." + itemid + " img").attr("src");
$.post("/GalleryUser/RemoveFile", { name: "@Model", fullName: imgPaht } )
.success(function() {
$("." + itemid).remove();
});
return false;
});
</text>); }
<script type="text/javascript">
var i11 = @(i1);
function OnSuccess_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
debugger;
if (e.operation == "upload") {
var imgUrl = "/Image?img=/" + encodeURIComponent("Content/UserFiles/Users/@Model/" + getFileInfo(e));
var divCont = '<div class="gallery_div '+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'
+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+
'&w=120&h=120&t=0&c=0" alt="" /><input type="text" class="gallery_textbox"'+
' id="desc_gallery_img_@(i1)_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" />'+
'<input type="checkbox" class="gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" id="gallery_img_'+
i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" /><span for="gallery_img_'+i11+
'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))">מחק</span></div>';
//var divCont = '<div class="'+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+'&w=120&h=120&t=0&c=0" alt="" /></div>';
$(".gallery_editor_wrap_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").append(divCont);
i11 = i11 + 1;
}
else if (e.operation == "remove") {
$('div[class*="'+getFileInfo(e)+'"]').remove();
}
}
var PARAM_NAME = "attachments";
function OnLoad_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
var uploadElement = $("input", this).attr("name", PARAM_NAME);
setTimeout(function () {
uploadElement.data("tUpload").name = PARAM_NAME;
}, 0);
}
function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
@{ Html.Telerik().ScriptRegistrar().OnDocumentReady(@<text>
$(".gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").live("click", function(){
var itemid = $(this).attr("id");
var imgPaht = $("." + itemid + " img").attr("src");
$.post("/GalleryUser/RemoveFile", { name: "@Model", fullName: imgPaht } )
.success(function() {
$("." + itemid).remove();
});
return false;
});
</text>); }
<script type="text/javascript">
var i11 = @(i1);
function OnSuccess_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
debugger;
if (e.operation == "upload") {
var imgUrl = "/Image?img=/" + encodeURIComponent("Content/UserFiles/Users/@Model/" + getFileInfo(e));
var divCont = '<div class="gallery_div '+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'
+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+
'&w=120&h=120&t=0&c=0" alt="" /><input type="text" class="gallery_textbox"'+
' id="desc_gallery_img_@(i1)_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" />'+
'<input type="checkbox" class="gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" id="gallery_img_'+
i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))" /><span for="gallery_img_'+i11+
'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))">מחק</span></div>';
//var divCont = '<div class="'+getFileInfo(e)+' gallery_div_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) gallery_img_'+i11+'_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))"><img src="'+imgUrl+'&w=120&h=120&t=0&c=0" alt="" /></div>';
$(".gallery_editor_wrap_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").append(divCont);
i11 = i11 + 1;
}
else if (e.operation == "remove") {
$('div[class*="'+getFileInfo(e)+'"]').remove();
}
}
var PARAM_NAME = "attachments";
function OnLoad_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))(e) {
var uploadElement = $("input", this).attr("name", PARAM_NAME);
setTimeout(function () {
uploadElement.data("tUpload").name = PARAM_NAME;
}, 0);
}
function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
@{ Html.Telerik().ScriptRegistrar().OnDocumentReady(@<text>
$(".gallery_img_@(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))").live("click", function(){
var itemid = $(this).attr("id");
var imgPaht = $("." + itemid + " img").attr("src");
$.post("/GalleryUser/RemoveFile", { name: "@Model", fullName: imgPaht } )
.success(function() {
$("." + itemid).remove();
});
return false;
});
</text>); }
these are my action methods..
public ActionResult Save(IEnumerable<HttpPostedFileBase> attachments, string name)
{
List<int> GalleryIds = new List<int>();
SURoleProvider pro = new SURoleProvider();
string roles= pro.GetRolesForUser(User.Identity.Name).FirstOrDefault();
if (!SecurityCheck(name) && roles!="Provider") throw new HttpException(401, "error");
string UserFolder = "~/Content/UserFiles/Users/" + name + "/";
string UserFolderPath = Server.MapPath(UserFolder);
CreateUserFolder(UserFolderPath);
foreach (var file in attachments)
{
Random n = new Random();
var fileName = n.Next(500,10000) + Path.GetFileName(file.FileName);
GalleryIds.Add(SaveGalleryImageTrack(UserFolder + fileName, name));
var physicalPath = Path.Combine(UserFolderPath, fileName);
string[] lastPart = name.Split('/');
if (lastPart[1].ToString().Contains("CsvFile_"))
{
string[] words = fileName.Split('.');
string ext = words[1].ToString();
if(ext == "csv" || ext == "vcf")
{
file.SaveAs(physicalPath);
}
}
else
{
file.SaveAs(physicalPath);
}
}
return Content("");
}
public ActionResult Remove(string[] fileNames, string name)
{
// if (!SecurityCheck(name)) throw new HttpException(401, "error");
string UserFolder = "~/Content/UserFiles/Users/" + name + "/";
string UserFolderPath = Server.MapPath(UserFolder);
CreateUserFolder(UserFolderPath);
foreach (var fullName in fileNames)
{
var fileName = Path.GetFileName(fullName);
var physicalPath = Path.Combine(UserFolderPath, fileName);
if (System.IO.File.Exists(physicalPath))
{
System.IO.File.Delete(physicalPath);
RemoveFileRecordFromDB(UserFolder + fileName);
}
}
return Content("");
}