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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה במציאת קודד להעלאת קבצים לענן של אמזון

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

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 4 כותבים 744 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
        • chagoldC chagold

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

          E
          E
          ebmanat
          כתב ב נערך לאחרונה על ידי
          #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

              שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

              נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

              בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

              הרשמה התחברות
              תגובה
              • תגובה כנושא
              התחברו כדי לפרסם תגובה
              • מהישן לחדש
              • מהחדש לישן
              • הכי הרבה הצבעות


              בא תתחבר לדף היומי!
              • התחברות

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

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