2012-04-18 48 views
1

我在我的项目中使用ASP.NET MVC Telerik编辑器,telerik编辑器不支持PDF上传功能,它支持图片上传,有没有办法可以包含PDF上传功能或有人试图做这样的事情?pdf在telerik富文本编辑器中上传功能

我的设置:

@(Html.Telerik().Editor().Name(clientId) 
/*.Encode(false) weird. Settings "Encode(false)" doesn't work on category & product details page 
Now we have to manually decode values*/ 
.Value(Model) 
.Tools(tools => tools 
.Custom(settings => settings.HtmlAttributes(new { @class = "t-html", onclick = "viewRichHtmlEditorSource" + random + "(event)", title="Edit HTML" }))) 
.FileBrowser(browser => browser.Browse("Browse", "ImageBrowser") 
    .Thumbnail("Thumbnail", "ImageBrowser") 
    .Upload("Upload", "ImageBrowser") 
    .DeleteFile("DeleteFile", "ImageBrowser") 
    .DeleteDirectory("DeleteDirectory", "ImageBrowser") 
    .CreateDirectory("CreateDirectory", "ImageBrowser"))) 

如何在其中添加你所建议的功能?

回答

1

是的,它支持PDF格式,我使用它的PDF格式,它工作得很好。 你看出来什么是文件的大小,你必须检查并确保它不超过5MB大

下面是我用什么样的样本:

<div class="editor-field"> 
    @Html.TextBoxFor(model => model.NewFileName) 
    @(Html.Telerik().Upload() 
     .Name("attachment") 
     .Multiple(false) 
     .ClientEvents(events => events.OnSelect("onSelect")) 
    ) 
</div> 

的ONSELECT脚本:

function onSelect(e) { 
    if (e.files[0].size > 5000000) { 
     alert('The file size is too large for upload'); 
     e.preventDefault(); 
     return false; 
    } 
    // Array with information about the uploaded files 
    var files = e.files; 
    var ext = $('#attachment').val().split('.').pop().toLowerCase(); 
    if ($.inArray(ext, ['pdf']) == -1) { 
     alert('This type of file is restricted from being uploaded due to security reasons'); 
     e.preventDefault(); 
    } else { 
     $("#NewFileName").val(files[0].name); 
    } 
    return false; 
} 

控制器动作必须接收attachement的签名像这样:

public ActionResult EditFile(HttpPostedFileBase attachment) { 
... 
} 
+0

已更新问题 – 2012-04-19 15:14:48

+0

您需要结合编辑器使用Telerik Upload控件。上传器特定于上传文件..编辑器控件用于编辑和嵌入Html。图像部分允许您链接到已知的文件位置或上传图像(使用幕后上传控件) – 2012-04-19 21:09:44