azure - Unsure of correct method to list blobs with a SharedAccess Token -


i upgraded windowsazure.storage 4.0.3 want output webpage list of blobs in folder, clicking on link downloads blob. blobs in secure container each uri needs shared access signature.

i used have:

var dir = container.getdirectoryreference(foldername); list<ilistblobitem> blobs = dir.listblobs().tolist();  var blobsinfolder = new list<uri>(); foreach (ilistblobitem listblobitem in blobs) {        var blob = container.getblockblobreference(listblobitem.uri.tostring());           string sasblobtoken = blob.getsharedaccesssignature(_sasconstraints);                 blobsinfolder.add(new uri(blob.uri + sasblobtoken));     } return blobsinfolder; 

this no longer works getblockblobreference no longer accepts uri filename. ilistblobitem not include filename.

i start chopping uri folder , filename

var blob = container.getblockblobreference(foldername + "/" + path.getfilename(listblobitem.uri.absolutepath)); 

...but feel that's going wrong way (that shouldn't have this?). can point me in right way please?

try casting ilistblobitem cloudblockblob

foreach (ilistblobitem listblobitem in blobs) {        var blob = (cloudblockblob) listblobitem;           string sasblobtoken = blob.getsharedaccesssignature(_sasconstraints);                 blobsinfolder.add(new uri(blob.uri + sasblobtoken));     } return blobsinfolder; 

Comments