What is the standard design pattern for file sharing?

I want to know if there is any design pattern for file sharing between devices or users. How can I chop down some steps without compromising the user experience for the file sharing.

Actually, the initial idea was to design a file sharing UX where user needs to take minimum number of steps to share a file with another user or device.

Select-file-->right click--> select sharing option --> choose method -->A: Add users name, groups (add emails) B: share the link (youtube link, image, website)

I have created task flow for file sharing but I don't know if I am missing something or not. Here, I need your help to know how would you share a file in these two scenario mentioned below.

Lets take the example of google drive or dropbox (you can choose any of them)

  1. When you have installed the client of one of these two service on your PC/Laptop: How do you share your file with other user or device from your PC/Laptop client
  2. When you are using cloud service (g-drive/dropbox): How do you share your files directly from the cloud to other users or devices.

P.S. If you haven't understand my question please feel free to ask in the comments. I would try to elaborate more.