【问题标题】:Apollo-upload-client with CloudinaryApollo-upload-client 与 Cloudinary
【发布时间】:2019-04-20 06:54:33
【问题描述】:

我正在尝试使用 apollo-upload-client、graphql 和 cloudinary 上传图片,

目标:成功上传图片到cloudinary,获取cloudinary url并插入数据库

目前:未收到任何错误消息,但未看到上传到 cloudinary 的文件

帮助:我下面的代码是否正确?有人在他们的代码中成功实现了使用 apollo-client-upload、graphql 和 cloudinary 的解决方案吗?如何从我可以插入到我的数据库中的 cloudinary 获取响应 url

到目前为止,我已经通过上传到我们自己的本地服务器进行了测试,并且代码运行良好。我已隔离,错误可能来自以下部分

提前致谢

export const cloudinaryUpload = async ({ stream }: any): Promise<string> => {
  console.log("stream upload gql ", stream);
  cloudinary.config({
    cloud_name: process.env.cloud_name,
    api_key: process.env.CLOUDINARY_API_KEY,
    api_secret: process.env.CLOUDINARY_API_SECRET
  });

  cloudinary.uploader
    .upload_stream({ resource_type: "raw" }, function(error: any, result: any) {
      console.log("error ", error);
      console.log("result ", result);
    })
    .end(stream.buffer);

  return `Test`;
};



export const processUpload = async (upload: any) => {

  const { stream } = await upload;

  const { id } = await storeUpload({ stream });
  return `id`;

【问题讨论】:

    标签: node.js apollo cloudinary express-graphql


    【解决方案1】:

    这对我有用:

    const cloudinary = require('cloudinary').v2;
    cloudinary.config({
      cloud_name: process.env.CLOUDINARY_CLOUDNAME,
      api_key: process.env.CLOUDINARY_API_KEY,
      api_secret: process.env.CLOUDINARY_API_SECRECT,
    });
    
    const imageUpload = async (imageFile) => {
      try {
        const { createReadStream } = await imageFile;
        const stream = createReadStream();
        const cloudinaryResponse = await cloudinary.uploader.upload(stream.path, { folder: 
    'my-folder' });
        return cloudinaryResponse.eager[0].secure_url;
      } catch (error) {
        throw new Error('There was a problem uploading your image. Please try again.');
      }
    };
    

    【讨论】:

      【解决方案2】:

      我在弄清楚如何将文件上传到 cloudinary 时遇到了相同类型的问题,并在此处和 Cloudinary 的支持论坛上遇到了这个问题。

      如果其他人遇到困难,这里的解决方案是:https://support.cloudinary.com/hc/en-us/community/posts/360031762832-graphql-upload-with-cloudinary

      【讨论】:

      • 感谢 Rene 指出。我恰好是在 cloudinary 上发布解决方案的人。快乐编码:)
      猜你喜欢
      • 2018-07-20
      • 2018-07-18
      • 2018-09-05
      • 2021-12-14
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      相关资源
      最近更新 更多