2014-07-07 16 views
5

Tôi không biết nếu nó có liên quan, nhưng tôi đang sử dụng Java với azure-storage-android-0.2.0.aar để tải lên.Tôi có thể tải luồng lên bộ nhớ Azure blob mà không chỉ định chiều dài của nó không?

Tôi có thể tải lên các tập tin để Microsoft Azure blob lưu trữ

CloudBlockBlob blob = container.getBlockBlobReference("filename.ext"); 
blob.upload(inputStream, n); 

trong đó n là chiều dài của InputStream khi nó có nguồn gốc từ các tập tin. Đây là vấn đề của tôi: Tôi muốn truyền trực tiếp, ví dụ như từ máy ảnh, điều này dường như không thể thực hiện được vì Azure yêu cầu tham số chiều dài cho quá trình tải lên, không rõ trong khi vẫn phát trực tiếp.

Có lý do nào để tôi chỉ định thời lượng không? (MD5?) Và có cách nào để tải lên trong khi luồng vẫn đang được sản xuất (rõ ràng là ý tưởng của InputStream trong Java, lý do tại sao InputStream không có thuộc tính độ dài)?

Trả lời

9

Chúng tôi sẽ ghi lại yêu cầu tính năng để cho phép tải lên từ luồng mà không chỉ định thời lượng. Bây giờ, bạn có thể muốn sử dụng phương thức openOutputStream có phương thức ghi lấy một byte [] hoặc một int. Ví dụ sử dụng phương pháp int bên dưới:

CloudBlockBlob blockBlob = container.getBlockBlobReference(‘myblob’); // assuming container was already created 

    BlobOutputStream blobOutputStream = blockBlob.openOutputStream(); 
    ByteArrayInputStream inputStream = new ByteArrayInputStream(buffer); // assuming buffer is a byte[] with your data 

    int next = inputStream.read(); 
    while (next != -1) { 
      blobOutputStream.write(next); 
      next = inputStream.read(); 
    } 

    blobOutputStream.close(); 
+0

oh, wow. Tìm hiểu điều gì đó mới mẻ mỗi ngày – trailmax

+1

@trailmax Hy vọng rằng làm cho mã C# nói trên của bạn dễ dàng hơn. :) Nếu bạn có bất kỳ vấn đề nào khác như những gì bạn đã đề cập trước đây, vui lòng đăng sự cố/yêu cầu tính năng trên [trang GitHub] của chúng tôi (https://github.com/Azure/azure-storage-net) hoặc tại đây trên Stack Overflow . Chúng tôi theo dõi thường xuyên và sẵn lòng trả lời các câu hỏi và nhận phản hồi. –

+0

@ EmilyGerner-Microsoft: Tôi tò mò liệu bộ nhớ Blob có hoạt động giống như cách mà máy khách dịch vụ hoạt động hay không. Tôi có cần phải thêm một công việc không đồng bộ riêng biệt để hoàn thành công việc hay không. –

Các vấn đề liên quan