Bài viết này sẽ hướng dẫn các bạn cách sử dụng Box API để upload file từ PC lên Box platform.
Box platform cho phép bạn upload và chia sẻ file từ PC lên dễ dàng. Nhưng để làm được điều này, trước tiên bạn cần phải có tài khoản trên Box.com sau đó tạo một ứng dụng để lấy được các thông số client Id
and client secret
là 2 tham số OAuth2
Cài đặt thư viện Box dll từ Nuget. Từ Visual Studio, mở Package Manager Console
. (Tools>Nuget Package Manager>Package Manager Console)
1 2 | <br /> Install-Package Box.v2.SDK<br /> |
Sau khi cài đặt, các tập tin dll cần thiết sẽ được để trong thư mục bin, và nhúng các thư viện sau
1 2 3 4 5 | <br /> Imports BoxApi.V2<br /> Imports BoxApi.V2.Authentication.OAuth2<br /> Imports BoxApi.V2.Model<br /> Imports System.IO<br /> |
Tiếp theo chúng ta sẽ tạo một function để upload lên box. Ở đây tài liệu upload sẽ được convert sang stream. BoxApiRefreshToken.txt được thêm vào project để giữ và viết mới mã thông báo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <br /> Function UploadToBox(ByVal attachedFilename As String, ByVal stream As System.IO.Stream) As Boolean</p> <p> Dim clientID As String<br /> Dim clientSecret As String<br /> Dim oldRefreshToken As String<br /> Dim newToken As BoxApi.V2.Authentication.OAuth2.OAuthToken</p> <p> clientID = “your client id”<br /> clientSecret = “you client secret”</p> <p> Dim tokenProvider As New TokenProvider(clientID, clientSecret)</p> <p> ”” Reading Refresh token from the file<br /> Dim streamReader As StreamReader<br /> streamReader = System.IO.File.OpenText(Server.MapPath(“~\\Box\\BoxApiRefreshToken.txt”))<br /> oldRefreshToken = streamReader.ReadToEnd()<br /> streamReader.Close()</p> <p> newToken = tokenProvider.RefreshAccessToken(oldRefreshToken)<br /> Dim boxManager As New BoxManager(newToken.AccessToken)</p> <p> ”” Writing the new Refresh token to the file<br /> Dim streamWriter As New StreamWriter(Server.MapPath(“~\\Box\\BoxApiRefreshToken.txt”))<br /> streamWriter.Write(newToken.RefreshToken)<br /> streamWriter.Close()</p> <p> Dim rootFolder As Folder</p> <p> rootFolder = boxManager.GetFolder(Folder.Root)</p> <p> boxManager.CreateFile(rootFolder, attachedFilename, ConvertStreamToByteArray(stream))</p> <p> Return True</p> <p> End Function<br /> |
Tạo thêm một function để convert stream sang dạng byte mảng
1 2 3 4 5 6 7 8 9 | <br /> Private Function ConvertStreamToByteArray(ByVal stream As System.IO.Stream) As Byte()</p> <p> Dim streamLength As Long = Convert.ToInt64(stream.Length)<br /> Dim fileData As Byte() = New Byte(streamLength) {}<br /> stream.Position = 0<br /> stream.Read(fileData, 0, streamLength)<br /> stream.Close()</p> <p> Return fileData</p> <p> End Function<br /> |
Khi click nút upload, tên file sẽ được đổi lại, bằng cách gán thêm một đoạn mảng băm để tránh trùng tên khi được upload lên box
1 2 3 4 5 6 7 8 9 10 11 12 | <br /> Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click<br /> If (fuBox.HasFile) Then</p> <p> Dim fileName As String<br /> Dim currentFileStream As System.IO.Stream<br /> currentFileStream = fuBox.PostedFile.InputStream</p> <p> fileName = System.IO.Path.GetFileNameWithoutExtension(fuBox.FileName)<br /> fileName = fileName + “-” + GetHashCode.ToString + System.IO.Path.GetExtension(fuBox.FileName)</p> <p> Me.UploadToBox(fileName, currentFileStream)</p> <p> currentFileStream.Close()</p> <p> End If<br /> End Sub<br /> |
Điểm ưa thích của bài viết này
Trước khi chạy ứng dụng, chúng ta cần phải thêm một đoạn mã xác thực vào file txt bên trên
Bước 1
1 2 | <br /> https://api.box.com/oauth2/authorize?response_type=code&client_id=XXX&state=authenticated<br /> |
Bạn có thể copy đoạn url trên lên thanh address của trình duyệt, sau đó thay giá trị của client_id
(XXX) bằng giá trị của bạn
Bước 2
Sau khi tiến hành, bạn sẽ nhận được một đoạn mã như sau
Bước 3
Cài đặt Postman Extension (RestClient) cho trình duyệt Chrome. Và sử dụng URL sau để lấy ra các token cần thiết
Và copy đoạn mã trên vào file text mà chúng ta đã tạo. Sau đó là có thể khởi chạy ứng dụng mà bạn vừa tạo được rồi. Chúc bạn thành công, nếu bạn gặp khó khăn trong việc lấy token này, bạn có thêm tham khảo 2 bước để lấy token từ Box.com thật đơn giản acheter viagra france pas cher.
You must log in to post a comment.