【问题标题】:Cloudinary get notified when image is uploaded上传图片时 Cloudinary 会收到通知
【发布时间】:2016-04-12 16:24:16
【问题描述】:

从 node.js(使用sails.js)上传文件到 cloudinary 时,我在最后的步骤中需要一些帮助

我给你下面的代码: 控制器:

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 希望您能帮助我,再次感谢!

【问题讨论】:

    标签: javascript node.js cloudinary


    【解决方案1】:

    首先,我在这里看不到渲染的&lt;%-uploader%&gt; 部分,所以具体来说,我不确定你的input 字段是什么样子的。 其次,我不确定我是否完全理解你的问题。您是否在询问如何在选择时不自动上传文件,而仅在之后执行实际上传(例如,当点击“提交”按钮时)? 或者,您是在问如何在完成后获取上传结果?

    【讨论】:

    • 嗨,我需要这两个东西,当我选择文件时不会自动上传,但我的首要任务是在文件上传时在控制器中得到通知,我正在使用直接文件上传来自浏览器,因为我不想在上传时使用我的服务器资源
    • 关于不自动上传 - 您可以禁用autoUpload 参数。欲了解更多信息:support.cloudinary.com/hc/en-us/articles/….
    • 关于响应 - 您应该将输入字段指向您模型的属性,当您点击提交按钮时,标识符将被传递到那里。我们建议使用 Cloudinary 的 Node.js 库来生成输入字段。请参阅:github.com/cloudinary/cloudinary_npm/blob/master/samples/…。或者,您可以在客户端获取上传的完整详细信息,并将其任何参数传递给您的服务器。见 - github.com/cloudinary/cloudinary_npm/blob/master/samples/…
    猜你喜欢
    • 2019-05-07
    • 2021-04-22
    • 2022-01-12
    • 2016-09-20
    • 2019-10-16
    • 2015-12-19
    • 2017-02-23
    • 2020-09-20
    • 2019-02-14
    相关资源
    最近更新 更多