- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Froala 所见即所得编辑器将图像上传到我的本地主机(用于测试目的),但它不起作用。当我选择要上传的图像时,它在编辑器中显得褪色,然后在我单击其他地方时消失。下面是我的代码以及指向我也尝试遵循的文档的链接。
文档: https://www.froala.com/wysiwyg-editor/docs/concepts/image/upload
还有这个方法,但是我不知道把php放在哪里:https://www.froala.com/wysiwyg-editor/docs/sdks/php/image-server-upload
(“fedit”是我用于文本区域的类。)
Javascript:
<script>
$(function() {
$('.fedit').froalaEditor({
// Set the image upload parameter.
imageUploadParam: 'file',
// Set the image upload URL.
imageUploadURL: '/upload_image.php',
// Additional upload params.
imageUploadParams: {class: 'fedit'},
// Set request type.
imageUploadMethod: 'POST',
// Set max image size to 5MB.
imageMaxSize: 5 * 1024 * 1024,
// Allow to upload PNG and JPG.
imageAllowedTypes: ['jpeg', 'jpg', 'png']
})
.on('froalaEditor.image.beforeUpload', function (e, editor, images) {
// Return false if you want to stop the image upload.
})
.on('froalaEditor.image.uploaded', function (e, editor, response) {
// Image was uploaded to the server.
})
.on('froalaEditor.image.inserted', function (e, editor, $img, response) {
// Image was inserted in the editor.
})
.on('froalaEditor.image.replaced', function (e, editor, $img, response) {
// Image was replaced in the editor.
})
.on('froalaEditor.image.error', function (e, editor, error, response) {
// Bad link.
else if (error.code == 1) { ... }
// No link in upload response.
else if (error.code == 2) { ... }
// Error during image upload.
else if (error.code == 3) { ... }
// Parsing response failed.
else if (error.code == 4) { ... }
// Image too text-large.
else if (error.code == 5) { ... }
// Invalid image type.
else if (error.code == 6) { ... }
// Image can be uploaded only to same domain in IE 8 and IE 9.
else if (error.code == 7) { ... }
// Response contains the original server response to the request if available.
});
});
</script>
上传图片.php
<?php
// Allowed extentions.
$allowedExts = array("gif", "jpeg", "jpg", "png", "blob");
// Get filename.
$temp = explode(".", $_FILES["file"]["name"]);
// Get extension.
$extension = end($temp);
// An image check is being done in the editor but it is best to
// check that again on the server side.
// Do not use $_FILES["file"]["type"] as it can be easily forged.
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES["file"]["tmp_name"]);
if ((($mime == "image/gif")
|| ($mime == "image/jpeg")
|| ($mime == "image/pjpeg")
|| ($mime == "image/x-png")
|| ($mime == "image/png"))
&& in_array(strtolower($extension), $allowedExts)) {
// Generate new random name.
$name = sha1(microtime()) . "." . $extension;
// Save file in the uploads folder.
move_uploaded_file($_FILES["file"]["tmp_name"], getcwd() . "/uploads/ " . $name);
// Generate response.
$response = new StdClass;
$response->link = "/uploads/" . $name;
echo stripslashes(json_encode($response));
}
?>
最佳答案
这是使用 PHP SDK 使其在本地主机上运行的解决方案。 (我正在使用 WAMP)。感谢上面评论中的 cmorrissey 让我研究了 sdk。
在此处下载 SDK 文件: https://www.froala.com/wysiwyg-editor/docs/sdks/php
请遵循以下说明: https://www.froala.com/wysiwyg-editor/docs/sdks/php/image-server-upload
但我会向您展示代码并提及一些我遇到的问题。
将此 javascript 放在文本区域所在的页面底部:
<script>
$(function() {
$('.selector').froalaEditor({
// Set the image upload URL.
imageUploadURL: '/mywebsite/upload_image.php'
})
});
</script>
请注意,您的“imageUploadURL:”(upload_image.php) 路径指向本地服务器的根目录。例如。 “http://localhost”指向的任何地方。所以在我的例子中,我的网站位于根目录的子文件夹中,因此我将放置“/mywebsite/upload_image.php”(实际上位于 C:\wamp64\www\mywebsite)。
在 upload_image.php 文件中:
<?php
// Include the editor SDK.
require 'froala/sdk/lib/FroalaEditor.php';
// Store the image.
try {
$response = FroalaEditor_Image::upload('/mywebsite/img/uploads/');
echo stripslashes(json_encode($response));
}
catch (Exception $e) {
http_response_code(404);
}
?>
如您所见,我将 sdk“lib”文件夹(您在上面下载的)复制到我创建的名为“froala/sdk/”的子文件夹中。你可以把它放在任何你想放的地方。
另一个重要的快速说明是他们打错了字。在他们的示例 php 代码中,他们告诉您该文件名为“froala_editor.php”,而实际上它在下载文件中的名称为“FroalaEditor.php”。这是我遇到的问题之一。
现在一切正常。将其上传到网络服务器时,您只需修改路径即可。
关于javascript - 无法使用 Froala 编辑器将图像上传到本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40873970/
我想编辑一个源代码(Java脚本、JSON等)。在角-弗罗拉-所见即所得中。因此,按照逐步的文档https://froala.com/wysiwyg-editor/examples/code-mirr
我正在使用 FROALA 构建电子邮件模板。 我不想让用户有权编辑它的一部分。 有没有办法阻止用户编辑部分内容? 谢谢你。 最佳答案 最好的方法是使用 contenteditable=false标志,
我从 Angular 为1的项目Froala编辑器开始,我逐步按照文档进行操作,我想显示insertImage按钮和insertTable,但没有显示任何内容。这是我的代码: var tb = [ "
我正在使用 Froala edit 作为富文本编辑器, $(notesSelector).on('froalaEditor.initialized', function (e, editor) {
我正在使用 Froala edit 作为富文本编辑器, $(notesSelector).on('froalaEditor.initialized', function (e, editor) {
Froala 编辑器组件在初始化时有许多可用的设置,包括占位符。 但是,我有一个情况,我必须在初始化后更改占位符。 我在 API docs 中看不到任何方法来做到这一点。我尝试通过 console.l
当复制和粘贴文本和其他一些情况时它会崩溃。之后无法提交表单。 这是我的带有图像 uploader 的 javascript 参数: require('froala-editor/js/froala_e
我正在使用 Froala 编辑器。我想将图像上传到自己的服务器,如 documentation 中所述响应格式应为 { link: 'path/to/image.jpg' },但我的服务器返回另一种格
我一直在四处寻找,但没有找到解释如何在 froala 编辑器的工具栏上创建自定义输入字段的地方。类似于 url 按钮的工作方式: Froala url input 它有一个输入框和一个插入框,我怎样才
我使用froala编辑器,以及图像上传插件的配置。问题是,当我上传高度大于宽度的图像时,编辑器会自动旋转图像。 您可以在这个演示页面froala editor demo测试这个问题. 如何解决这个问题
我是一名用户体验设计师,在前端开发方面有一些经验,在在线编辑器概念验证中工作,以便在可用性研究中进行测试。我们的第一个发现是,用户希望有一个按钮可以直接添加公司字体系列和正文文本大小(Arial 11
我第一次使用 froala 编辑器,现在遇到了问题。在第一页上,froala 工作得很好,但在第二页上,编辑器不起作用。当我单击工具栏按钮时,我注意到了。文本长度始终等于零并且占位符不会隐藏。请帮我解
我在我的网站上成功安装了 Froala,但是定位图像似乎不起作用。它们总是在左边,即使我将它们居中/右对齐。 所以在文本编辑模式下它工作正常.. 但看了结果后,所有 3 个对齐看起来都一样。 图像有这
完整的 Froala 所见即所得编辑器如下所示: 但是在我的元素中添加 API 后,一些工具栏按钮丢失了。快照如下所示。 从上面可以看出,我的编辑器中缺少大部分工具栏按钮,例如颜色、段落格式等。 我包
Froala 不想显示某些按钮(例如:视频、图像、表格...),我现在不知道为什么。也许我只是忘记添加一些脚本?这是我的选项: public tb = [ "bold", "i
我正在尝试使用 Froala 所见即所得编辑器将图像上传到我的本地主机(用于测试目的),但它不起作用。当我选择要上传的图像时,它在编辑器中显得褪色,然后在我单击其他地方时消失。下面是我的代码以及指向我
我正在使用 froala js 1.9 js .. 直到昨天为止都运行良好 .. 但现在 Enter 键在编辑器上不起作用。 $('#txt_blog_editor').editable({
由于需要,我已经实现了 froala 编辑器并动态创建了 froala id。这工作正常,但我想禁用此编辑器中的表情符号。 $('#froala'+key).froalaEditor({ im
我正在为 Froala 定制一个自定义工具栏按钮。为了执行我的操作,我需要从原始文本区域读取数据属性。 我怎样才能实现这个目标? 谢谢。 最佳答案 FroalaEditor.RegisterComma
我正在尝试将一些事件监听器注册到使用 froala 编辑器 react 组件呈现的元素。我按照文档中的建议在 froala 配置中传递我的“潜在”事件监听器。 这就是我想要实现的目标 events :
我是一名优秀的程序员,十分优秀!