我使用 XAMPP 作为服务器,但我似乎无法像编辑器的文档向我展示的那样上传图像...这是链接: http://editor.froala.com/server-integrations/php-image-upload
我已经调查过这个问题,通常他们都说链接不正确,因为你需要在那里放置绝对网址,但即使这样似乎也不起作用。
代码如下: JS
$(document).ready(function(){
$('textarea').editable({inlineMode: false, height:200, imageUploadURL: 'upload_image.php', imageErrorCallback: function (data) {
// Bad link.
console.log(data);
}
});
});
上传图片.php:
<?php
// Allowed extentions.
$allowedExts = array("gif", "jpeg", "jpg", "png");
// 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($extension, $allowedExts)) {
// Generate new random name.
$name = sha1(microtime()) . "." . $extension;
// Save file in the uploads folder.
move_uploaded_file($_FILES["file"]["tmp_name"], "C:\ xampp\htdocs\Swaggy\img\ " . $name);
// Generate response.
$response = new StdClass;
$response->link = "/swaggy/img/" . $name;
echo stripslashes(json_encode($response));
}
当我尝试上传图像时,他在编辑器中以 64 为基数形成一个 img 标签,然后消失。调试器向我显示文件 upload_image.php 的状态为 200,从控制台向我显示的错误如下:
对象{code:4,消息:“解析响应失败”}
最佳答案
您的服务器的 PHP 似乎有问题,无法解析响应。当您尝试上传图像时,您应该使用 Firebug 检查服务器的响应是什么。例如,finfo_file
函数仅从 PHP 5.3 开始可用。如果您的版本较旧,这很可能是问题所在。
关于javascript - 无法从 froala 编辑器上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26045313/