试图在html编辑器扩展器中插入Image

时间:2013-07-06 10:01:19

标签: c# asp.net ajaxcontroltoolkit

我正在尝试将图像插入到html编辑器扩展程序中。 。

<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" EnableSanitization="false" 
    OnImageUploadComplete="HtmlEditorExtender1_ImageUploadComplete"
     TargetControlID="TextBoxBody">
    <Toolbar> 
                <ajaxToolkit:Undo />
                <ajaxToolkit:Redo />
                <ajaxToolkit:Bold />
                <ajaxToolkit:Italic />
                <ajaxToolkit:Underline />
                <ajaxToolkit:StrikeThrough />
                <ajaxToolkit:Subscript />
                <ajaxToolkit:Superscript />
                <ajaxToolkit:JustifyLeft />
                <ajaxToolkit:JustifyCenter />
                <ajaxToolkit:JustifyRight />
                <ajaxToolkit:JustifyFull />
                <ajaxToolkit:InsertOrderedList />
                <ajaxToolkit:InsertUnorderedList />
                <ajaxToolkit:CreateLink />
                <ajaxToolkit:UnLink />
                <ajaxToolkit:RemoveFormat />
                <ajaxToolkit:SelectAll />
                <ajaxToolkit:UnSelect />
                <ajaxToolkit:Delete />
                <ajaxToolkit:Cut />
                <ajaxToolkit:Copy />
                <ajaxToolkit:Paste />
                <ajaxToolkit:BackgroundColorSelector />
                <ajaxToolkit:ForeColorSelector />
                <ajaxToolkit:FontNameSelector />
                <ajaxToolkit:FontSizeSelector />
                <ajaxToolkit:Indent />
                <ajaxToolkit:Outdent />
                <ajaxToolkit:InsertHorizontalRule />
                <ajaxToolkit:HorizontalSeparator />
                <ajaxToolkit:InsertImage />
                </Toolbar>
    </ajaxToolkit:HtmlEditorExtender>

以及上传完成的方法

protected void HtmlEditorExtender1_ImageUploadComplete(object sender, AjaxFileUploadEventArgs e)
    {
        string fullpath = Server.MapPath("~/Eventimg/") + e.FileName;
        var ajaxFileUpload = (AjaxFileUpload)sender;
        HtmlEditorExtender1.AjaxFileUpload.SaveAs(fullpath);
        e.PostedUrl = Page.ResolveUrl("~/Eventimg/" + e.FileName);
    }

但是在文件上传窗口中,我得到了这个: Filename.jpg(错误) 上传100% 我究竟做错了什么? 你的帮助将得到满足。 。感谢名单

4 个答案:

答案 0 :(得分:0)

您需要在。

中添加此节点
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
  <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</handlers>
<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="4294967295"/>
  </requestFiltering>
</security>

并将此节点添加到您的网站:

<httpHandlers>
  <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
</httpHandlers>
by“Will shao”

答案 1 :(得分:0)

您错误地访问了SaveAs。使用此:

protected void HtmlEditorExtender1_ImageUploadComplete(object sender, AjaxFileUploadEventArgs e)
{
    string fullpath = Server.MapPath("~/Eventimg/") + e.FileName;
    var ajaxFileUpload = (AjaxFileUpload)sender;
    //HtmlEditorExtender1.AjaxFileUpload.SaveAs(fullpath);
    ajaxFileUpload.SaveAs(fullpath);
    e.PostedUrl = Page.ResolveUrl("~/Eventimg/" + e.FileName);
}

答案 2 :(得分:0)

如果您将 QueryStrings 传递给该页面,我发现您使用 HtmleditorExtender 会出现上传错误。很长一段时间我都看不出我做错了什么。然后我改变了我的页面的逻辑 - 使用Cookies / Session vars而不是QueryStrings - 和Bingo,它工作了!奇怪但真实......

答案 3 :(得分:0)

我做了所有这些建议,但没有成功,除非我改变了打开我的编辑页面从Server.Transfer(...)Response.Redirect(...)的方式

我花了几个小时来弄明白这一点。 也许其他人觉得它很有用: - )