我有一个流星应用程序,在这个应用程序中,我使用cropper plugin从网站上用户的本地计算机上传图像,然后将其发送到我的DigitalOcean服务器。所以从本地计算机上传工作,但当我尝试在我的服务器中发送图像时,它不起作用。
从cropper插件中,我检索了一个我要发送的imgbase64。
我在很多论坛上搜索,但我没有找到一个好的解决方案,所以我尝试这样做:
在myapp.js
我有:
$("#save").click(function() {
window.open($image.cropper("getDataURL"));
var dataURL = $image.cropper("getDataURL");
$.ajax({
type: "POST",
url: "script.php",
data: {
imgBase64: dataURL
}
}).done(function(o) {
console.log('saved');
// If you want the file to be visible in the browser
// - please modify the callback in javascript. All you
// need is to return the url to the file, you just saved
// and than put the image in your browser.
});
});
在myapp.html
我有
<button class="btn btn-primary" id="save" type="submit">Save</button>
我有一个PHP脚本:
<?php
// requires php5
define('UPLOAD_DIR', '/home/images/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
//header('Location: '.$_POST['return_url']);
?>
当我点击保存按钮时,我得到了#34;已保存&#34;在控制台中但我在文件夹中没有任何内容。 你知道为什么吗?
答案 0 :(得分:0)
我担心您似乎没有正确使用Meteor。
Meteor是一个JavaScript框架,因此您无法创建PHP文件并尝试在Meteor中启动它们。您的所有代码都必须是JavaScript。
这是流星开发的基本部分。 I suggest you try the Meteor tutorial which should help you learn how to use Meteor.
您发布的代码无法实现您想要实现的目标,您需要删除PHP并在JavaScript中重写它。