• דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

עזרה במציאת קודד להעלאת קבצים לענן של אמזון

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 4 כותבים 534 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • E מנותק
    E מנותק
    ebmanat
    כתב ב נערך לאחרונה על ידי
    #1

    שלום וברכה,

    אני עובדת כמתכנתת וכעת אמורה לפתח תהליך של העלאת קבצים לענן של אמזון s3, אפילו לבוס שלי אין הרבה מידע איך ממשים ומה עושים,
    אנחנו כותבים בצד קליינט באנגולר וצד שרת ב-c#.

    יש למישהו נסיון עם זה?

    תודה רבה

    תגובה 1 תגובה אחרונה
    0
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #2

    העלאת קבצים היא מצד הקליינט?

    E תגובה 1 תגובה אחרונה
    0
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #3

    https://stackoverflow.com/questions/34526851/upload-files-to-amazon-s3-with-dropzone-js-issue/51059094#51059094

    (אגב, פעם היה את זה אבל זה כבר לא נתמך ע"י המפתחים)

    תגובה 1 תגובה אחרונה
    1
  • E מנותק
    E מנותק
    ebmanat
    השיב לchagold ב נערך לאחרונה על ידי
    #4

    @chagold מתחילה מהקליינט וממשיכה בסרבר.

    תגובה 1 תגובה אחרונה
    0
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #5

    זה מאוד פשוט.
    באנגולר אתם שולחים את הקובץ לשרת, אם את השלב הזה גם מוקשה, פתחו על זה אשכול חדש.
    בצד השרת יש לכם אוסף בתים (byte[]), או זרם (stream).
    אתם אמורים להעלות, לקבל תשובה עם מזהה, ולהחזיר ללקוח אישור + מזהה אם נדרש.

    יש לכם כבר חשבון בAWS?
    פתחתם כבר BUCKET בS3?

    אשמח לעזור, תעדכנו סטטוס.

    אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    2
  • A מנותק
    A מנותק
    avr416
    כתב ב נערך לאחרונה על ידי
    #6

    לא יודע אם זה עוד רלבנטי לך, אבל לתועלת הציבור.
    תתקיני בפרויקט את הSDK הזה: https://aws.amazon.com/sdk-for-net/
    (ישנה שם אפשרות להתקין את זה דרך Nuget)

    הנה מחלקה שמשתמשת בAPI הזה כדי לגבות את הדטה בייסים שלי:

    בהצלחה!

    זה מציג את הקוד לא הכי מושלם..

    using Amazon.S3;
    using Amazon.S3.Transfer;
    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;

    namespace AwsEmptyApp1
    {
    public class UploadFiles
    {
    string bucket = "";//your backet
    string SubDirectoryInBucket = "";//your directory
    Dictionary<string,string> allFiles = new Dictionary<string, string>(); //fileName, fullPath

        public void Start()
        {           
    
            try
            {
                //כאן נכתב הקוד שמגבה את הדטה בייסים השונים
                //אחרי זה רצים בלולאה ויוצרים את מערך השמות שלהם עבור ההלאה
                foreach (var db in dbNames)
                {
                    var fileName = "";
                    var fullPath = "";
                    allFiles.Add(fileName, fullPath);                   
                }
                //העלאה לאמזון
                Task.Run(async () =>
                {
                    var isUpload = await UploadFiles(allFiles);
                }).GetAwaiter().GetResult();
            }
            catch (Exception ex)
            {
               //
            }
           
            Console.WriteLine("---- DB Backup succesfuly --- ");
        }
    
        public static async Task<bool> UploadFolder(string pathDirectory)
        {
            IAmazonS3 s3Client = new AmazonS3Client();
            var transfer = new TransferUtilityUploadDirectoryRequest();
            transfer.BucketName = bucket;
            transfer.KeyPrefix = SubDirectoryInBucket;
            transfer.Directory = pathDirectory;
            var transferUtility = new TransferUtility();
            //כאן אפשר ליצור מנוי לפונקציה שמציגה את התקדמות ההעלאה
            //transfer.UploadDirectoryProgressEvent += displayProgressFolder;
            await transferUtility.UploadDirectoryAsync(transfer);
            return true;
        }
    
        public static async Task<bool> UploadFiles(Dictionary<string, string> pathFiles)
        {
            IAmazonS3 s3Client = new AmazonS3Client();
            var transferUtility = new TransferUtility();
    
            foreach (var file in pathFiles)
            {
                var req = new TransferUtilityUploadRequest();
                req.BucketName = bucket;
                req.FilePath = file.Value;
                req.Key = SubDirectoryInBucket + file.Key;
                //כאן אפשר ליצור מנוי לפונקציה שמציגה את התקדמות ההעלאה
                //req.UploadProgressEvent += displayProgressFile;
                await transferUtility.UploadAsync(req);
            }
            return true;
    
        }
    }
    

    }

    תגובה 1 תגובה אחרונה
    0
  • dovidD dovid העביר נושא זה מ-תכנות ב-

  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.