nodejsとdotenvによる曇りのイメージアップロード
32138 ワード
Cloudinary 世界中の開発者は最小限の努力で画像を管理する.このチュートリアルでは、我々はどのように我々のアプリケーションから画像をアップロードする方法を見てされます
これは、最後のチュートリアルの設定を継続することです.
あなたはそれをチェックアウトするか、先に行くことができますし、クローンrepository . 指示に従ってくださいREADME.MD あなたのローカルマシンでプロジェクトを設定するには
アカウントを作成するにはCloudinary Website 閉じるこの動画はお気に入りから削除されています. をクリックします それに応じて表示するフォームを入力します. フォームを あなたの電子メールをチェックすることによって終わるために、あなたの電子メールをチェックしてください 次のように見えるダッシュボードにアクセスできます.
注意
チェックアウト
あなたがこれらのすべてのショーを持っているならば、次に揺れましょう.
前に端末を開いていない場合は、プロジェクトディレクトリに移動する時間です.
インストールするコマンドを実行します アプリで.JSファイル
次に、このようにダッシュボード上のアカウントの詳細から設定詳細を追加します.
コードのバグを回避するには、まず既存のAPIを次のコードに置き換えます.
次に、 では、このコードを
APIを構築することによって、生命を
このNPMパッケージでは、着信要求を処理することができます
我々のアプリでは、体のパースが必要です.そうような人
次のコードを追加して
この関数では、ユーザーが入力したデータ(画像)を収集するために次のコードを追加します
次に、画像をアップロードします
これを行うには、以下を追加します
ルートディレクトリ名でフォルダ/ディレクトリを作成します
このフォルダにあなたの好みのイメージをコピーしてください.(現在、app . jsファイルに対するイメージへのパスは次のようになります.
さあ進みましょう アドレスバーに次のように入力します. 設定する 設定する
さて、これが結果です.現在、イメージはユニークです
最後に、チェック
ワラ!我々は、ストレスなしでイメージを持続させています..それは良い感じ.
まあ、もう一つのこと-セキュリティ!
私たちの曇りの構成の詳細は、我々のアプリで公開されています.jsファイル.我々がプロジェクトをGiThubに押しやるならば、それがチェックする気がある誰にでも公的に利用可能になります、そして、それが間違った手に入るならば、それは問題になります.
しかし、ここでものを心配しないでください、このスペースでほとんどすべてのために修正があります.私たちは
インストールDotenv
必要
ルートディレクトリに新しいファイルを作成し、名前を付けます このファイルでは、以下のようにしてCloudinary設定の詳細を入力します.
アプリで.JSファイルでは、
私は今、2つの同じイメージが異なる
うーん!我々のアプリケーションは、それが開始時よりも安全です.
このチュートリアルでは、NodeJSアプリケーションを介してCloudaryに画像をアップロードに関与する手順を介して私たちを取ることができた.
最後に、我々の設定の詳細を確保するには
すべてのコードが利用可能ですhere
さて、NODEJSを通して我々のイメージをCloudaryにアップロードした後に、我々がそれを取り戻すことができないか、使うことができないならば、それはほとんど役に立たないです.この理由から、我々は見ています.
質問、コメントや提案がある場合は、コメントのセクションにドロップしてください.
また、フォローすることができます社会メディアプラットフォーム上で私にメッセージ.
陳川Github
あなたの時間をありがとう.
cloudinary
.これは、最後のチュートリアルの設定を継続することです.
あなたはそれをチェックアウトするか、先に行くことができますし、クローンrepository . 指示に従ってくださいREADME.MD あなたのローカルマシンでプロジェクトを設定するには
cloudinary
.アカウントを作成する
sign up
ボタンオンtop right
. Create Account
ボタン.注意
Account details
. 誰にも明らかにされてはいけない.このチュートリアルの目的のためだけに使用される一時的なアカウントであるので、私はあなたにこれを明らかにしています.チェックアウト
Media Library
タブも、これはアップロードされた画像が表示される場所です.あなたがこれらのすべてのショーを持っているならば、次に揺れましょう.
プロジェクトにCloudaryをインストール
前に端末を開いていない場合は、プロジェクトディレクトリに移動する時間です.
インストールするコマンドを実行します
Cloudinary
npm install cloudinary --save
我々のプロジェクトのセットアップCloudary
cloudinary
下にconst app = express();
以下のように: const cloudinary = require('cloudinary').v2
cloud_name: 'place your cloud_name here',
api_key: 'place your api_key here',
api_secret: 'place your api_secret here',
これは私が持っているものです. // cloudinary configuration
cloudinary.config({
cloud_name: "dunksyqjj",
api_key: "173989938887513",
api_secret: "ZPLqvCzRu55MaM1rt-wxJCmkxqU"
});
画像をアップロードするAPIを作成する
app.get("/", (request, response) => {
response.json({ message: "Hey! This is your server response!" });
});
それは基本的に同じですが、今回はget
動詞の代わりに動詞use
動詞とルートエンドポイントを追加しました./
).module.exports = app;
ライン、私たちは私たちを作成するimage-upload
API.// image upload API
app.post("/upload-image", (request, response) => {});
基本的に、APIの設定方法です.APIはPOST
request
にserver
語るserver
そのrequest
セキュリティの程度で処理する必要があります.このリクエストを行う際に2つのパラメータを使用しますend-point
画像をアップロードするcallback function
("request , response )=> {}).APIを構築することによって、生命を
callback function
コールバック関数の構築
ボディパーサーのインストール
このNPMパッケージでは、着信要求を処理することができます
req.body
or request.body
として.我々は、インストールされますbody-parser
次のコードを使用します. npm install --save body-parser
我々のプロジェクトのための体パイナーの設定
const bodyParser = require('body-parser');
json
のように我々のアプリのためのグローバルミドルウェアとして機能: app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
我々は、現在適切に我々の要求体を取り扱うことができますまだ機能を構築する
// collected image from a user
const data = {
image: request.body.image,
};
cloudinary
次のコードの使用cloudinary.uploader.upload(data.image);
基本的に、これは我々のイメージをアップロードする必要があるすべてです.我々のapp.js
以下のようになります.const express = require("express");
const app = express();
const cloudinary = require("cloudinary").v2;
const bodyParser = require('body-parser');
// body parser configuration
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// cloudinary configuration
cloudinary.config({
cloud_name: "dunksyqjj",
api_key: "173989938887513",
api_secret: "ZPLqvCzRu55MaM1rt-wxJCmkxqU"
});
app.get("/", (request, response) => {
response.json({ message: "Hey! This is your server response!" });
});
// image upload API
app.post("/image-upload", (request, response) => {
// collected image from a user
const data = {
image: request.body.image,
}
// upload image here
cloudinary.uploader.upload(data.image);
});
module.exports = app;
現在、これはすべてよく見えます、そして、それは完全に動きます.を使用してテストすることができますpostman
. しかし、それが我々の要求を処理したとき、我々のアプリが我々にフィードバックを与えることができるならば、それはものすごいです.正しい?これを行うには、以下を追加します
then...catch...
閉じるこの動画はお気に入りから削除されています // upload image here
cloudinary.uploader.upload(data.image)
.then((result) => {
response.status(200).send({
message: "success",
result,
});
}).catch((error) => {
response.status(500).send({
message: "failure",
error,
});
});
それで、最終的なコードは以下の通りです.const express = require("express");
const app = express();
const cloudinary = require("cloudinary").v2;
const bodyParser = require('body-parser');
// body parser configuration
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// cloudinary configuration
cloudinary.config({
cloud_name: "dunksyqjj",
api_key: "173989938887513",
api_secret: "ZPLqvCzRu55MaM1rt-wxJCmkxqU"
});
app.get("/", (request, response) => {
response.json({ message: "Hey! This is your server response!" });
});
// image upload API
app.post("/image-upload", (request, response) => {
// collected image from a user
const data = {
image: request.body.image,
}
// upload image here
cloudinary.uploader.upload(data.image)
.then((result) => {
response.status(200).send({
message: "success",
result,
});
}).catch((error) => {
response.status(500).send({
message: "failure",
error,
});
});
});
module.exports = app;
APIのテスト
images
以下のように: mkdir images
"images/<your-image.jpg">
) さあ進みましょう
postman
http://localhost:3000/image-upload
Header
キーContent-Type
とapplication/json
body
にjson
このように我々のコードで宣言したデータ: {
"image": "images/oskar-yildiz-gy08FXeM2L4-unsplash.jpg"
}
ヒットSend
ボタンをアップロードを完了し、あなたの応答を得るのを待つさて、これが結果です.現在、イメージはユニークです
public_id
は、ランダムに生成されるsecure_url
これは大域的にアクセス可能です(ブラウザでロードすることができます).最後に、チェック
Media Library
あなたの曇り場ダッシュボードのタブでは、新しいイメージを持つ必要がありますnew
それにマッチするユニークなIDがあるバッジpublic_id
我々は、以下のイメージのように上記の郵便配達人結果で見ましたワラ!我々は、ストレスなしでイメージを持続させています..それは良い感じ.
まあ、もう一つのこと-セキュリティ!
私たちの曇りの構成の詳細は、我々のアプリで公開されています.jsファイル.我々がプロジェクトをGiThubに押しやるならば、それがチェックする気がある誰にでも公的に利用可能になります、そして、それが間違った手に入るならば、それは問題になります.
しかし、ここでものを心配しないでください、このスペースでほとんどすべてのために修正があります.私たちは
dotenv
NPMパッケージは、パブリックから我々の設定を隠します.安全な設定
npm install dotenv --save
dotenv
インapp.js
ライクソー require('dotenv').config()
.env
CLOUD_NAME=dunksyqjj
API_KEY=173989938887513
API_SECRET=ZPLqvCzRu55MaM1rt-wxJCmkxqU
.env
ファイル経由process.env
プロパティ// cloudinary configuration
cloudinary.config({
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET
});
これが私ですapp.js
現時点コードconst express = require("express");
const app = express();
const cloudinary = require("cloudinary").v2;
const bodyParser = require('body-parser');
require('dotenv').config()
// body parser configuration
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// cloudinary configuration
cloudinary.config({
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET
});
app.get("/", (request, response, next) => {
response.json({ message: "Hey! This is your server response!" });
next();
});
// image upload API
app.post("/image-upload", (request, response) => {
// collected image from a user
const data = {
image: request.body.image,
}
// upload image here
cloudinary.uploader.upload(data.image)
.then((result) => {
response.status(200).send({
message: "success",
result,
});
}).catch((error) => {
response.status(500).send({
message: "failure",
error,
});
});
});
module.exports = app;
何も壊れていることを確認するために再び我々のアプリをテストしましょう.これが私の結果です私は今、2つの同じイメージが異なる
public_id
そして、それ!うーん!我々のアプリケーションは、それが開始時よりも安全です.
結論
このチュートリアルでは、NodeJSアプリケーションを介してCloudaryに画像をアップロードに関与する手順を介して私たちを取ることができた.
最後に、我々の設定の詳細を確保するには
dotenv
NPMパッケージすべてのコードが利用可能ですhere
さて、NODEJSを通して我々のイメージをCloudaryにアップロードした後に、我々がそれを取り戻すことができないか、使うことができないならば、それはほとんど役に立たないです.この理由から、我々は見ています.
質問、コメントや提案がある場合は、コメントのセクションにドロップしてください.
また、フォローすることができます社会メディアプラットフォーム上で私にメッセージ.
陳川Github
あなたの時間をありがとう.
Reference
この問題について(nodejsとdotenvによる曇りのイメージアップロード), 我々は、より多くの情報をここで見つけました https://dev.to/ebereplenty/image-upload-to-cloudinary-with-nodejs-and-dotenv-4fenテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol