/// <summary> /// Declaring file uploaded. Set file status to 'Complete'. If the specified file size does not match to the actual, the actual will be set. /// </summary> /// <param name="fileId">The file identifier.</param> /// <param name="blobUploadCompleteRequest">The BLOB upload complete request.</param> /// <returns>Success HTTP Status Code 200</returns> public async Task <HttpResponse> FileUploadCompleteAsync(Int32 fileId, BlobUploadCompleteRequest blobUploadCompleteRequest) { var uriMethod = String.Format(QuickbloxMethods.CompleteUploadByFileIdMethod, fileId); var headers = RequestHeadersBuilder.GetDefaultHeaders().GetHeaderWithQbToken(this.quickbloxClient.Token); var fileUploadResponse = await HttpService.PutAsync <Object, BlobUploadCompleteRequest>(this.quickbloxClient.ApiEndPoint, uriMethod, blobUploadCompleteRequest, headers); return(fileUploadResponse); }
public async Task <int?> UploadPrivateImageAsync(byte[] imageBytes) { var createFileRequest = new CreateFileRequest() { Blob = new BlobRequest() { Name = String.Format("image_{0}.jpeg", Guid.NewGuid()), IsPublic = false } }; var createFileInfoResponse = await client.ContentClient.CreateFileInfoAsync(createFileRequest); if (await HandleResponse(createFileInfoResponse, HttpStatusCode.Created)) { var uploadFileRequest = new UploadFileRequest { BlobObjectAccess = createFileInfoResponse.Result.Blob.BlobObjectAccess, FileContent = new BytesContent() { Bytes = imageBytes, ContentType = "image/jpg", } }; var uploadFileResponse = await client.ContentClient.FileUploadAsync(uploadFileRequest); if (!await HandleResponse(createFileInfoResponse, HttpStatusCode.Created)) { return(null); } var blobUploadCompleteRequest = new BlobUploadCompleteRequest { BlobUploadSize = new BlobUploadSize() { Size = (uint)imageBytes.Length } }; var response = await client.ContentClient.FileUploadCompleteAsync(createFileInfoResponse.Result.Blob.Id, blobUploadCompleteRequest); if (!await HandleResponse(response, HttpStatusCode.OK)) { return(null); } return(createFileInfoResponse.Result.Blob.Id); } else { return(null); } }
public async Task <ImageUploadResult> UploadPublicImage(byte[] imageBytes) { var imageUploadResult = new ImageUploadResult(); var createFileRequest = new CreateFileRequest() { Blob = new BlobRequest() { Name = $"image_{Guid.NewGuid()}.jpeg", IsPublic = true } }; var createFileInfoResponse = await quickbloxClient.ContentClient.CreateFileInfoAsync(createFileRequest); if (createFileInfoResponse.StatusCode != HttpStatusCode.Created) { return(null); } imageUploadResult.BlodId = createFileInfoResponse.Result.Blob.Id; var uploadFileRequest = new UploadFileRequest { BlobObjectAccess = createFileInfoResponse.Result.Blob.BlobObjectAccess, FileContent = new BytesContent() { Bytes = imageBytes, ContentType = "image/jpg", } }; var uploadFileResponse = await quickbloxClient.ContentClient.FileUploadAsync(uploadFileRequest); if (uploadFileResponse.StatusCode != HttpStatusCode.Created) { return(null); } imageUploadResult.Url = uploadFileResponse.Result.Location; var blobUploadCompleteRequest = new BlobUploadCompleteRequest { BlobUploadSize = new BlobUploadSize() { Size = (uint)imageBytes.Length } }; var response = await quickbloxClient.ContentClient.FileUploadCompleteAsync(createFileInfoResponse.Result.Blob.Id, blobUploadCompleteRequest); return(imageUploadResult); }
public async Task FileUploadSuccessTest() { var settings = new CreateFileRequest() { Blob = new BlobRequest() { Name = String.Format("museum_{0}.jpeg", Guid.NewGuid()), } }; var createFileInfoResponse = await this.client.ContentClient.CreateFileInfoAsync(settings); Assert.AreEqual(createFileInfoResponse.StatusCode, HttpStatusCode.Created); var uploadFileRequest = new UploadFileRequest(); uploadFileRequest.BlobObjectAccess = createFileInfoResponse.Result.Blob.BlobObjectAccess; var uri = new Uri("ms-appx:///Modules/ContentModule/Assets/1.jpg"); var storageFile = await StorageFile.GetFileFromApplicationUriAsync(uri); var stream = await storageFile.OpenReadAsync(); var bytes = new byte[stream.Size]; using (var dataReader = new DataReader(stream)) { await dataReader.LoadAsync((uint)stream.Size); dataReader.ReadBytes(bytes); } uploadFileRequest.FileContent = new BytesContent() { Bytes = bytes, ContentType = "image/jpg", }; var uploadFileResponse = await this.client.ContentClient.FileUploadAsync(uploadFileRequest); Assert.AreEqual(uploadFileResponse.StatusCode, HttpStatusCode.Created); var blobUploadCompleteRequest = new BlobUploadCompleteRequest(); blobUploadCompleteRequest.BlobUploadSize = new BlobUploadSize() { Size = (uint)bytes.Length }; var uploadFileCompleteResponse = await this.client.ContentClient.FileUploadCompleteAsync(createFileInfoResponse.Result.Blob.Id, blobUploadCompleteRequest); Assert.AreEqual(uploadFileCompleteResponse.StatusCode, HttpStatusCode.OK); }
private async Task <bool> DeclareFileUploaded(int uploadedFileSize, int blobId) { var blobUploadCompleteRequest = new BlobUploadCompleteRequest { BlobUploadSize = new BlobUploadSize() { Size = (uint)uploadedFileSize } }; var uploadCompleteResponse = await quickbloxClient.ContentClient.FileUploadCompleteAsync(blobId, blobUploadCompleteRequest); return(uploadCompleteResponse.StatusCode == HttpStatusCode.OK); }
public async Task<int?> UploadPrivateImageAsync(byte[] imageBytes) { var createFileRequest = new CreateFileRequest() { Blob = new BlobRequest() { Name = String.Format("image_{0}.jpeg", Guid.NewGuid()), IsPublic = false } }; var createFileInfoResponse = await client.ContentClient.CreateFileInfoAsync(createFileRequest); if (await HandleResponse (createFileInfoResponse, HttpStatusCode.Created)) { var uploadFileRequest = new UploadFileRequest { BlobObjectAccess = createFileInfoResponse.Result.Blob.BlobObjectAccess, FileContent = new BytesContent () { Bytes = imageBytes, ContentType = "image/jpg", } }; var uploadFileResponse = await client.ContentClient.FileUploadAsync (uploadFileRequest); if (!await HandleResponse (createFileInfoResponse, HttpStatusCode.Created)) return null; var blobUploadCompleteRequest = new BlobUploadCompleteRequest { BlobUploadSize = new BlobUploadSize () { Size = (uint)imageBytes.Length } }; var response = await client.ContentClient.FileUploadCompleteAsync (createFileInfoResponse.Result.Blob.Id, blobUploadCompleteRequest); if (!await HandleResponse (response, HttpStatusCode.OK)) return null; return createFileInfoResponse.Result.Blob.Id; } else { return null; } }