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

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

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

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

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