اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

النسخة الثانية من اداة رفع الملفات الى Google Drive


SEMO.Pa3x

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته...

عود على بدء في موضوعي هذا:

 

 

اقدم لكم النسخة الثانية من اداة رفع الملفات ونسخ الباك اب الى Google Drive لكن هذه المرة

ستقوم الاداة بضغط الملف وتشفيرة بباسورد بأستخدام winRAR ومن ثم رفعه الى  Google Drive لمنع اي شخص من الاطلاع على محتويات الملف المضغوط

لان الضغط هنا سيكون Encrypt File Names بعبارة اخرى سيكون الملف المضغوط هكذا شكله:

 

image.png.d8692cfff5b372b499bf8d32fcf1bbc2.png

 

لن تستطيع ان تعرف ما يحويه الملف المضغوط من ملفات الا اذا قمت بوضع الباسورد.

اضفت براميتر جديد على الاداة وهو باسورد الضغط، ستجدون كل شيء في ملف الاكسس، وباقي الامور شرحناها في الدرس السابق

 

لا تنسوني ووالدي من صالح دعائكم.

تم بحمد الله.

GoogleDriveUploader_fixed.rar

  • Like 2
  • Thanks 4
رابط هذا التعليق
شارك

استفسار استاذنا القدير  د.حسنين

ما تعني هذه العلامة   "~||~"  التي تفصل بين المتغيرات في سطر المعامل ..  وما عملها ؟

Param = myPath & "~||~" & ClientId & "~||~" & ClientSecret & "~||~" & ApplicationName & "~||~" & FileName & "_db:" & " " & Now & "~||~" & GoogleDriveFolderID & "~||~" & IsMessage

 

رابط هذا التعليق
شارك

11 ساعات مضت, ابوخليل said:

استفسار استاذنا القدير  د.حسنين

ما تعني هذه العلامة   "~||~"  التي تفصل بين المتغيرات في سطر المعامل ..  وما عملها ؟

Param = myPath & "~||~" & ClientId & "~||~" & ClientSecret & "~||~" & ApplicationName & "~||~" & FileName & "_db:" & " " & Now & "~||~" & GoogleDriveFolderID & "~||~" & IsMessage

 

اهلا اخي ابو خليل.

علامة عادية مثلها مثل اي علامة - , _ اوغيرها

استخدمها لعمل split وتقطيع النص في الـ VB.NET مثال:

image.png.c24892869f9a13b5be6861bac2b4513a.png

  • Thanks 1
رابط هذا التعليق
شارك

الدكتور حسنين 🙂

شكرا لك على الربط بين الاكسس وبعض الامور الاخرى التي لا يمكن استعمالها بواسطة الاكسس مباشرة ، والرابط مثل ما تفضلت هو برمجة من vb.NET مثلا 🙂

اذا ممكن ، ولكي تزداد الفائدة ، رجاء ارفاق كود vb.NET كذلك ، حتى يمكن للاعضاء الاستفادة منه كذلك 🙂

يعني بكلام آخر ، نريد نسخة اخرى من دكتور حسنين تفكر في هذا المجال 😅😁

 

جعفر

رابط هذا التعليق
شارك

7 ساعات مضت, jjafferr said:

الدكتور حسنين 🙂

شكرا لك على الربط بين الاكسس وبعض الامور الاخرى التي لا يمكن استعمالها بواسطة الاكسس مباشرة ، والرابط مثل ما تفضلت هو برمجة من vb.NET مثلا 🙂

اذا ممكن ، ولكي تزداد الفائدة ، رجاء ارفاق كود vb.NET كذلك ، حتى يمكن للاعضاء الاستفادة منه كذلك 🙂

يعني بكلام آخر ، نريد نسخة اخرى من دكتور حسنين تفكر في هذا المجال 😅😁

 

جعفر

 

اهلاً بالمعلم.. ابشر ولا يهمك، تفضل سورس الاداة بلغة VB.NET :

Imports Google.Apis.Drive.v3
Imports Google.Apis.Drive.v3.Data
Imports Google.Apis.Auth.OAuth2
Imports Google.Apis.Services
Imports System.Threading

Module GDU

    Dim ClientId As String = ""
    Dim ClientSecret As String = ""
    Dim ApplicationName As String = ""
    Dim FileName As String = ""
    Dim Extension As String = ""
    Dim FullPath As String = ""
    Dim CurrentPath As String = ""
    Dim IDFolderSave As String = ""
    Dim IsMessage As Boolean
    Dim IsCustomeFolder As Boolean

    ''' ##########################################
    ''' Application : Google Drive Uploader
    ''' Coded by    : Dr.Hassanien (SEMO.Pa3x)
    ''' Date        : 12-2-2022
    ''' ##########################################

    Sub Main()

        Try
            Console.Title = "Google Drive Uploader - coded by Dr.Hassanien (SEMO.Pa3x)"
            Dim ARGS() As String
            For Each arg As String In My.Application.CommandLineArgs

                '---------------------------
                '0 = Path
                '1 = ClientId
                '2 = ClientSecret
                '3 = ApplicationName
                '4 = FileName
                '---------------------------

                ARGS = Split(arg, "~||~")

                'split arg to parts
                FullPath = ARGS(0)
                Extension = System.IO.Path.GetExtension(FullPath).ToString.ToLower
                ClientId = ARGS(1)
                ClientSecret = ARGS(2)
                ApplicationName = ARGS(3)
                FileName = ARGS(4)
                IDFolderSave = ARGS(5)
                IsCustomeFolder = IIf(IDFolderSave = "", False, True)
                IsMessage = CBool(ARGS(6))

                'set new path
                CurrentPath = AppDomain.CurrentDomain.BaseDirectory & "BK" & Extension

                'check exist path
                If System.IO.File.Exists(CurrentPath) Then
                    System.IO.File.Delete(CurrentPath)
                End If

                'copy to other location to use it
                System.IO.File.Copy(FullPath, CurrentPath)

            Next

            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("Upload process has started, please wait...")

            UploadFile(CurrentPath)

        Catch ex As Exception
            MsgBox(ex.Message)
            Console.ForegroundColor = ConsoleColor.Red
            Console.WriteLine(ex.Message)
            Console.ReadLine()
        End Try
    End Sub

    Private Service As DriveService = New DriveService

    Private Sub CreateService()
        Dim MyUserCredential As UserCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(New ClientSecrets() With {.ClientId = ClientId, .ClientSecret = ClientSecret}, {DriveService.Scope.Drive}, "user", CancellationToken.None).Result
        Service = New DriveService(New BaseClientService.Initializer() With {.HttpClientInitializer = MyUserCredential, .ApplicationName = ApplicationName})
    End Sub

    Public Sub SearchFolder()
        Try
            Dim findrequest As FilesResource.ListRequest = Service.Files.List
            Dim listFolder As Data.FileList = findrequest.Execute

            For Each item As File In listFolder.Files
                If item.MimeType = "application/vnd.google-apps.folder" Then
                    If item.Id = IDFolderSave Then
                        IDFolderSave = item.Id.ToString
                        Exit For
                    Else
                        Console.ForegroundColor = ConsoleColor.Red
                        Console.WriteLine("=============================================")
                        Console.WriteLine("ERROR: Folder not found in google drive !")
                        Console.WriteLine("=============================================")
                        Console.ReadLine()
                    End If
                End If
            Next
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

    Private Sub UploadFile(FilePath As String)

        'call service
        CreateService()

        'check custome folder
        If IsCustomeFolder = True Then
            SearchFolder()
        End If

        Dim TheFile As New File()
        TheFile.Name = FileName & Extension
        TheFile.Description = "Description"

        'check custome folder
        If IsCustomeFolder = True Then
            Dim plist As List(Of String) = New List(Of String)
            plist.Add(IDFolderSave) 'Set parent folder
            TheFile.Parents = plist
        End If

        Dim ByteArray As Byte() = System.IO.File.ReadAllBytes(FilePath)
        Dim Stream As New System.IO.MemoryStream(ByteArray)

        Dim UploadRequest As FilesResource.CreateMediaUpload = Service.Files.Create(TheFile, Stream, TheFile.MimeType)

        'You were mmissing the Upload part!
        UploadRequest.Upload()
        Dim file As File = UploadRequest.ResponseBody

        System.IO.File.Delete(CurrentPath)

        If IsMessage = True Then
            Console.ForegroundColor = ConsoleColor.Green
            Console.WriteLine("")
            Console.WriteLine("")
            Console.WriteLine("")
            Console.WriteLine("=============================================")
            Console.WriteLine("File has been uploaded successfully....")
            Console.WriteLine("=============================================")
            Console.WriteLine("")
            Console.ForegroundColor = ConsoleColor.Gray
            Console.WriteLine("Press any key to exit...")
            Console.ReadLine()
        End If

    End Sub

End Module

 

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

  • 1 month later...

اولا يا دكتور @SEMO.Pa3xجزاكم الله خيرا

ولكن عنوان الموضوع النسخة الثانية من اداة رفع الملفات الى Google Drive

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

هل يمكن تعديل جديد ليتم عمل استعراض للملفات المختلفة من الحاسوب مع امكانية اختيار اكثر من ملف لرفعهم بنفس الالية من خلال قاعدة بيانات ويا سلام لو هناك اختيارت على نموذج استعراض الملفات قبل الرفع على الدرايف مثل رفع كل ملف على حدة او جمعهم فى ملف ارشيف و امكانية تشفير ملف الارشيف برقم سرى او عدم التشفير :biggrin:

نظريا ممكن عمل ذلك من خلال احضار مسار الملفات من خلال زر الامر الذى يقوم باستعراض الملفات وحفظ المسارات فى جدول وعمل لوب لرفع كل ملف  ولكن عمليا هل ممكن تحقيق ذلك..... مجرد فكرة وعندما يسمح وقتى سوف احاول تطبيقها :wink2:

 

وان سبقتمونى فجزاكم الله خيرا

رابط هذا التعليق
شارك

  • 2 months later...

 

في 22‏/2‏/2022 at 05:27, SEMO.Pa3x said:

السلام عليكم ورحمة الله وبركاته...

عود على بدء في موضوعي هذا:

 

 

اقدم لكم النسخة الثانية من اداة رفع الملفات ونسخ الباك اب الى Google Drive لكن هذه المرة

ستقوم الاداة بضغط الملف وتشفيرة بباسورد بأستخدام winRAR ومن ثم رفعه الى  Google Drive لمنع اي شخص من الاطلاع على محتويات الملف المضغوط

لان الضغط هنا سيكون Encrypt File Names بعبارة اخرى سيكون الملف المضغوط هكذا شكله:

 

image.png.d8692cfff5b372b499bf8d32fcf1bbc2.png

 

لن تستطيع ان تعرف ما يحويه الملف المضغوط من ملفات الا اذا قمت بوضع الباسورد.

اضفت براميتر جديد على الاداة وهو باسورد الضغط، ستجدون كل شيء في ملف الاكسس، وباقي الامور شرحناها في الدرس السابق

 

لا تنسوني ووالدي من صالح دعائكم.

تم بحمد الله.

GoogleDriveUploader_fixed.rar 353.76 kB · 97 downloads

السلام عليكم رجاءا  مراجعة الصورة المرفقة و تمكيني من بعض الملاحظات 

 

Image1.png.40fd184ccdb3a1bb305b7653d7c61881.png

رابط هذا التعليق
شارك

شكرا صديقي ويعطيك العافية على هذا المجهود الجميل

النسخة الاولى تعمل بكفاءة

اما النسخة الجديدة فهي لا تعمل اي شيء عند الضغط على ابلود لا يحدث اي شيء ؟؟؟

ولا يفتح برنامج الابلود نهائيا ؟؟

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information