从node.js上传文件到cloudinary时,我在最后的步骤中需要一些帮助(使用sails.js)
我给你下面的代码: 控制器:
var cloudinary = require('cloudinary');
index: function(req, res){
cloudinary.config({
cloud_name: 'cloud_name',
api_key: 'api_key',
api_secret: 'api_secret'
});
var cloudinary_cors = "http://" + req.headers.host + "/cloudinary_cors.html";
var uploader = cloudinary.uploader.image_upload_tag('image_id', { callback: cloudinary_cors, html: { multiple: 1 } });
var cloudinary_script = cloudinary.cloudinary_js_config();
return res.view('myaccount/myaccount', { uploader: uploader, cloudinary_script: cloudinary_script });
}
然后我的脚本就是这些:
<!--SCRIPTS-->
<script type="text/javascript" src="/js/dependencies/sails.io.js"></script>
<script type="text/javascript" src="/js/dependencies/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/js/jquery.iframe-transport.js"></script>
<script type="text/javascript" src="/js/jquery.fileupload.js"></script>
<script type="text/javascript" src="/js/jquery.cloudinary.js"></script>
<%-cloudinary_script%>
<!--SCRIPTS END-->
最后我的表格:
<form action="" method="post" enctype="multipart/form-data" class="upload_form">
<div class="form-group">
<label>Profile picture</label>
<%-uploader%>
</div>
<div class="form-group">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</form>
嗯,一切正常,它在我选择它时上传我的文件(我无法在选择文件时没有自动上传的情况下工作)所以......首先我需要在控制器中收到通知该文件已完全上传并获取图像ID,因此我可以将其保存在数据库中,我找到了一些指南,但我也无法使其工作,例如:Can't get image_id from Cloudinary in NodeJS 希望你能帮助我,再次感谢!
答案 0 :(得分:0)
首先,我在这里看不到渲染的<%-uploader%>
部分,所以具体来说我不确定你的input
字段是怎样的。
其次,我不确定我是否完全理解你的问题。您是否询问如何在选择时不自动上传文件,并且仅在之后执行实际上传(例如,在点击“提交”按钮时)?
或者,您是否在询问如何完成上传结果?