我正在尝试将图像插入到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% 我究竟做错了什么? 你的帮助将得到满足。 。感谢名单
答案 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>
答案 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(...)
的方式
我花了几个小时来弄明白这一点。 也许其他人觉得它很有用: - )