ربط موقعى ب digital ocean space او امازون s3

  • Mohamed1360

اريد ربط موقعى ب digital ocean space او امازون s3

حتى اتمكن من رفع الملفات عليه

اريد بعض المساعدة ان يعرف احدكم مقالة او فديو لكفية ربط موقعى لانى لا اريد التعامل مع مستقل

و اريد ان يشرح لى شخص كيفية حساب الاسعار او ما الاسعار لانى جربت التعامل مع الحاسبة الخاصة بهم لكنى لم افهم شىء

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

لو كنت تستخدم لارافل يمكنك ربط موقعك من خلال AWS S3 من خلال الحزمة

composer require league/flysystem-aws-s3-v3

ثم عند عملية رفع صورة او ملف يمكنك مثلاً عن طريق الكود التالي من التحقق من الصورة أو الملف المرفوع

if($request->hasFile('image')){
			$name = time() . $file->getClientOriginalName();
			$img = Image::make($file);
			$img->resize(500, 500, function ($constraint) {
				$constraint->aspectRatio();
			});
			$filePath = 'flebs/' . $name;
			$resource = $img->stream()->detach();
		   \Storage::disk('s3')->put($filePath, $resource);
		   $post->image = \Storage::disk('s3')->url($filePath);
		}

ايضا لا تنسى ربط AWS S3 الخاص بك في مشروع لارافل الخاص بك عن طريق وضع التالي في ملف env.

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-2
AWS_BUCKET=
AWS_URL=

أيضا يمكنك زيارة رابط الحزمة من هنا

https://github.com/thephpleague/flysystem-aws-s3-v3

لقراءة المزيد عن حول كيفية استخدام هذه الحزمة في مشروعك.

اشكرك على مجهودك

ولكن انا لدى هذه الخصائص فى السكريبت الخاص بهذا الشكل

اولا ان لم تكن لديك خبرة في البرمجة وتريد التعامل مع شيفرة سيكون هذا مستحيل بالنسبة لك.

اما ان كنت مبرمج فيمكنك استخدام s3 sdk للتفاعل مع أمازون bucket وهذا مثال عن استخدام sdk بلغة node js وبالنسبة للغات الأخرى سيكون نفس نسق الشيفرة

var AWS = require('aws-sdk');
// Set the region
AWS.config.update({region: 'REGION'});

// Create S3 service object
s3 = new AWS.S3({apiVersion: '2006-03-01'});

// اعدادت ال bucket
var bucketParams = {
  Bucket : process.argv[2]
};

// انشاء المحفظة
s3.createBucket(bucketParams, function(err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Location);
  }
});

و لرفع الملفات

var AWS = require('aws-sdk');
// Set the region 
AWS.config.update({region: 'REGION'});


var s3 = new AWS.S3({apiVersion: '2006-03-01'});


var uploadParams = {Bucket: process.argv[2], Key: '', Body: ''};
var file = process.argv[3];

var fs = require('fs');
var fileStream = fs.createReadStream(file);
fileStream.on('error', function(err) {
  console.log('File Error', err);
});
uploadParams.Body = fileStream;
var path = require('path');
uploadParams.Key = path.basename(file);

// هنا يتم رفع الصور لامازون
s3.upload (uploadParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } if (data) {
    console.log("Upload Success", data.Location);
  }
});

اشكرك على مجهودك

انا بالفعل لست مبرمجا

و لكن انا لدى هذه الخاصية فى السكريبت بهذا الشكل