protected void btnUpload_Click(object sender, EventArgs e) { if (Session["AccessToken"] == null) { Response.Write("Error. Access token not found.<br /><a href=\"/\">Try again</a>."); pnlUpload.Visible = false; return; } // help: https://developers.google.com/drive/v2/reference/files/insert var token = Session["AccessToken"].ToString(); try { /* // simple upload var result = OAuthUtility.Post ( "https://www.googleapis.com/upload/drive/v2/files", new HttpParameterCollection { { "uploadType", "media" }, { FileUpload1.PostedFile } }, new HttpAuthorization(AuthorizationType.Bearer, token) ); */ var parameters = new HttpParameterCollection(); parameters.Add("uploadType", "multipart"); parameters.AddContent("application/json", new { title = FileUpload1.FileName }); parameters.AddContent(FileUpload1.PostedFile); var result = OAuthUtility.Post ( "https://www.googleapis.com/upload/drive/v2/files", parameters, authorization: new HttpAuthorization(AuthorizationType.Bearer, token), contentType: "multipart/related" ); // ok hlResult.NavigateUrl = result["webContentLink"].ToString(); hlResult.Text = hlResult.NavigateUrl; pnlSuccess.Visible = true; pnlUpload.Visible = false; } catch (Exception ex) { Response.Write(ex.Message); } }
protected void btnUpload_Click(object sender, EventArgs e) { if (Session["AccessToken"] == null) { Response.Write("Error. Access token not found.<br /><a href=\"/\">Try again</a>."); pnlUpload.Visible = false; return; } // help: https://developers.google.com/drive/v2/reference/files/insert var token = Session["AccessToken"].ToString(); try { /* * // simple upload * var result = OAuthUtility.Post * ( * "https://www.googleapis.com/upload/drive/v2/files", * new HttpParameterCollection * { * { "uploadType", "media" }, * { FileUpload1.PostedFile } * }, * new HttpAuthorization(AuthorizationType.Bearer, token) * ); */ var parameters = new HttpParameterCollection(); parameters.Add("uploadType", "multipart"); parameters.AddContent("application/json", new { title = FileUpload1.FileName }); parameters.AddContent(FileUpload1.PostedFile); var result = OAuthUtility.Post ( "https://www.googleapis.com/upload/drive/v2/files", parameters, authorization: new HttpAuthorization(AuthorizationType.Bearer, token), contentType: "multipart/related" ); // ok hlResult.NavigateUrl = result["webContentLink"].ToString(); hlResult.Text = hlResult.NavigateUrl; pnlSuccess.Visible = true; pnlUpload.Visible = false; } catch (Exception ex) { Response.Write(ex.Message); } }
private void button2_Click(object sender, EventArgs e) { progressBar1.Value = 0; if (openFileDialog1.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } object parents = null; if (!String.IsNullOrEmpty(this.CurrentFolderId)) { parents = new object[] { new { id = this.CurrentFolderId } }; } UniValue properties = UniValue.Create ( new { title = Path.GetFileName(openFileDialog1.FileName), parents = parents } ); var file = openFileDialog1.OpenFile(); this.CurrentFileLength = file.Length; var parameters = new HttpParameterCollection(); parameters.Add("uploadType", "multipart"); parameters.AddContent("application/json", properties.ToString()); parameters.AddContent("application/octet-stream", file); OAuthUtility.PostAsync ( "https://www.googleapis.com/upload/drive/v2/files", parameters, authorization: new HttpAuthorization(AuthorizationType.Bearer, Properties.Settings.Default.AccessToken), contentType: "multipart/related", // handler of result callback: Upload_Result, // handler of uploading streamWriteCallback: Upload_Processing ); }
private void button1_Click(object sender, EventArgs e) { // help: https://developers.google.com/drive/v2/reference/files/insert object parents = null; if (!String.IsNullOrEmpty(this.CurrentFolderId)) { parents = new object[] { new { id = this.CurrentFolderId } }; } UniValue content = UniValue.Create ( new { mimeType = "application/vnd.google-apps.folder", title = textBox1.Text, parents = parents } ); var parameters = new HttpParameterCollection(); parameters.Encoding = Encoding.UTF8; parameters.Add("uploadType", "multipart"); parameters.AddContent("application/json", content.ToString()); OAuthUtility.PostAsync ( "https://www.googleapis.com/upload/drive/v2/files", parameters: parameters, authorization: new HttpAuthorization(AuthorizationType.Bearer, Properties.Settings.Default.AccessToken), contentType: "multipart/related", callback: CreateFolder_Result ); }
protected void btnUpload_Click(object sender, EventArgs e) { if (Session["AccessToken"] == null) { Response.Write("Error. Access token not found.<br /><a href=\"/\">Try again</a>."); pnlUpload.Visible = false; return; } // help: https://developers.google.com/drive/v2/reference/files/insert var token = Session["AccessToken"].ToString(); var filePath = Server.MapPath(String.Format("~/Temp/{0}.tmp", Guid.NewGuid())); try { /* * // simple upload * var result = OAuthUtility.Post * ( * "https://www.googleapis.com/upload/drive/v2/files", * new HttpParameterCollection * { * { "uploadType", "media" }, * { FileUpload1.PostedFile } * }, * new HttpAuthorization(AuthorizationType.Bearer, token) * ); */ // save file if (!Directory.Exists(Server.MapPath("~/Temp"))) { Directory.CreateDirectory(Server.MapPath("~/Temp")); } using (var file = new FileStream(filePath, FileMode.CreateNew, FileAccess.Write, FileShare.Inheritable)) using (var writer = new BinaryWriter(file)) { using (var reader = new BinaryReader(FileUpload1.PostedFile.InputStream)) { byte[] buffer = new byte[4096]; int readBytes = 0; while ((readBytes = reader.Read(buffer, 0, buffer.Length)) != 0) { writer.Write(buffer, 0, readBytes); } } } var fileToSend = File.OpenRead(filePath); // send saved file var parameters = new HttpParameterCollection(); parameters.Add("uploadType", "multipart"); parameters.AddContent("application/json", new { title = FileUpload1.FileName }); parameters.AddContent ( FileUpload1.PostedFile.ContentType ?? "application/octet-stream", fileToSend ); var result = OAuthUtility.Post ( "https://www.googleapis.com/upload/drive/v2/files", parameters, authorization: new HttpAuthorization(AuthorizationType.Bearer, token), contentType: "multipart/related" ); fileToSend.Close(); // ok hlResult.NavigateUrl = result["webContentLink"].ToString(); hlResult.Text = hlResult.NavigateUrl; pnlSuccess.Visible = true; pnlUpload.Visible = false; } catch (Exception ex) { Response.Write(ex.Message); } finally { // remove temp file if (File.Exists(filePath)) { File.Delete(filePath); } } }