Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Загрузка Blob данных в хранилищеСодержание книги
Поиск на нашем сайте
3. private void SaveImage(string id, string name, string description, 4. string tags, string fileName, string contentType, byte[] data) 5. { 6. // Create a blob in container and upload image bytes to it 7. var blob = this.GetContainer().GetBlobReference(name); 8. 9. blob.Properties.ContentType = contentType; 10. 11. // Create some metadata for this image 12. var metadata = new NameValueCollection(); 13. metadata["Id"] = id; 14. metadata["Filename"] = fileName; 15. metadata["ImageName"] = String.IsNullOrEmpty(name)? "unknown": name; 16. metadata["Description"] = String.IsNullOrEmpty(description)? "unknown": description; 17. metadata["Tags"] = String.IsNullOrEmpty(tags)? "unknown": tags; 18. 19. // Add and commit metadata to blob 20. blob.Metadata.Add(metadata); 21. blob.UploadByteArray(data); }
23.protected void upload_Click(object sender, EventArgs e) 24. { 25. if (imageFile.HasFile) 26. { 27. status.Text = "Inserted [" + imageFile.FileName + "] - 28. Content Type [" + imageFile.PostedFile.ContentType + "] - 29. Length [" + imageFile.PostedFile.ContentLength + "]"; 30. 31. this.SaveImage( 32. Guid.NewGuid().ToString(), 33. imageName.Text, 34. imageDescription.Text, 35. imageTags.Text, 36. imageFile.FileName, 37. imageFile.PostedFile.ContentType, 38. imageFile.FileBytes 39.); 40. 41. RefreshGallery(); 42. } 43. else 44. status.Text = "No image file"; }
Извлечение метаданных для Blob в хранилище
3. protected void OnBlobDataBound(object sender, ListViewItemEventArgs e) 4. { 5. if (e.Item.ItemType == ListViewItemType.DataItem) 6. { 7. var metadataRepeater = e.Item.FindControl("blobMetadata") as Repeater; 8. var blob = ((ListViewDataItem)(e.Item)).DataItem as CloudBlob; 9. 10. // If this blob is a snapshot, rename button to "Delete Snapshot" 11. if (blob!= null) 12. { 13. if(blob.SnapshotTime.HasValue) 14. { 15. var delBtn = e.Item.FindControl("deleteBlob") as LinkButton; 16. if (delBtn!= null) delBtn.Text = "Delete Snapshot"; 17. 18. var snapshotBtn = e.Item.FindControl("SnapshotBlob") as LinkButton; 19. if (snapshotBtn!= null) snapshotBtn.Visible = false; 20. } 21. 22. if (metadataRepeater!= null) 23. { 24. //bind to metadata 25. metadataRepeater.DataSource = from key in blob.Metadata.AllKeys 26. select new 27. { 28. Name = key, 29. Value = blob.Metadata[key] 30. }; 31. metadataRepeater.DataBind(); 32. } 33. } 34. } }
Удаление Blob из хранилища
2. <div class="item"> 3. <ul style="width:40em;float:left;clear:left" > 4. <asp:Repeater ID="blobMetadata" runat="server"> 5. <ItemTemplate> 6. <%# Eval("Name") %><span><%# Eval("Value") %></span> 7. </ItemTemplate> 8. </asp:Repeater> 9. 10. <asp:LinkButton ID="deleteBlob" 11. OnClientClick="return confirm('Delete image?');" 12. CommandName="Delete" 13. CommandArgument='<%# Eval("Uri")%>' 14. runat="server" Text="Delete" oncommand="OnDeleteImage" /> 15. 16. </ul> 17. <img src="<%# Eval("Uri") %>" alt="<%# Eval("Uri") %>" style="float:left"/> </div>
19.protected void OnDeleteImage(object sender, CommandEventArgs e) 20. { 21. try 22. { 23. if (e.CommandName == "Delete") 24. { 25. var blobUri = (string)e.CommandArgument; 26. var blob = this.GetContainer().GetBlobReference(blobUri); 27. 28. blob.DeleteIfExists(); 29. 30. RefreshGallery(); 31. } 32. } 33. catch (StorageClientException se) 34. { 35. status.Text = "Storage client error: " + se.Message; 36. } 37. catch (Exception) { } }
Копирование Blob
2. <div class="item"> 3. <ul style="width:40em;float:left;clear:left" > 4. <asp:Repeater ID="blobMetadata" runat="server"> 5. <ItemTemplate> 6. <%# Eval("Name") %><span><%# Eval("Value") %></span> 7. </ItemTemplate> 8. </asp:Repeater> 9. 10. <asp:LinkButton ID="deleteBlob" 11. OnClientClick="return confirm('Delete image?');" 12. CommandName="Delete" 13. CommandArgument='<%# Eval("Uri")%>' 14. runat="server" Text="Delete" oncommand="OnDeleteImage" /> 15. <asp:LinkButton ID="CopyBlob" 16. OnClientClick="return confirm('Copy image?');" 17. CommandName="Copy" 18. CommandArgument='<%# Eval("Uri")%>' 19. runat="server" Text="Copy" oncommand="OnCopyImage" /> 20. 21. 22. </ul> 23. <img src="<%# Eval("Uri") %>" alt="<%# Eval("Uri") %>" style="float:left"/> </div>
25.protected void OnCopyImage(object sender, CommandEventArgs e) 26. { 27. if (e.CommandName == "Copy") 28. { 29. // Prepare an Id for the copied blob 30. var newId = Guid.NewGuid(); 31. 32. // Get source blob 33. var blobUri = (string)e.CommandArgument; 34. var srcBlob = this.GetContainer().GetBlobReference(blobUri); 35. 36. // Create new blob 37. var newBlob = this.GetContainer().GetBlobReference(newId.ToString()); 38. 39. // Copy content from source blob 40. newBlob.CopyFromBlob(srcBlob); 41. 42. // Explicitly get metadata for new blob 43. newBlob.FetchAttributes(new BlobRequestOptions{BlobListingDetails = BlobListingDetails.Metadata}); 44. 45. // Change metadata on the new blob to reflect this is a copy via UI 46. newBlob.Metadata["ImageName"] = "Copy of \"" + newBlob.Metadata["ImageName"] + "\""; 47. newBlob.Metadata["Id"] = newId.ToString(); 48. newBlob.SetMetadata(); 49. 50. // Render all blobs 51. RefreshGallery(); 52. } }
Получение снимков Blob
2. <div class="item"> 3. <ul style="width:40em;float:left;clear:left" > 4. <asp:Repeater ID="blobMetadata" runat="server"> 5. <ItemTemplate> 6. <%# Eval("Name") %><span><%# Eval("Value") %></span> 7. </ItemTemplate> 8. </asp:Repeater> 9. 10. <asp:LinkButton ID="deleteBlob" 11. OnClientClick="return confirm('Delete image?');" 12. CommandName="Delete" 13. CommandArgument='<%# Eval("Uri")%>' 14. runat="server" Text="Delete" oncommand="OnDeleteImage" /> 15. <asp:LinkButton ID="CopyBlob" 16. OnClientClick="return confirm('Copy image?');" 17. CommandName="Copy" 18. CommandArgument='<%# Eval("Uri")%>' 19. runat="server" Text="Copy" oncommand="OnCopyImage" /> 20. <asp:LinkButton ID="SnapshotBlob" 21. OnClientClick="return confirm('Snapshot image?');" 22. CommandName="Snapshot" 23. CommandArgument='<%# Eval("Uri")%>' 24. runat="server" Text="Snapshot" oncommand="OnSnapshotImage" /> 25. 26. </ul> 27. <img src="<%# Eval("Uri") %>" alt="<%# Eval("Uri") %>" style="float:left"/> </div>
29.protected void OnSnapshotImage(object sender, CommandEventArgs e) 30. { 31. if (e.CommandName == "Snapshot") 32. { 33. // Get source blob 34. var blobUri = (string) e.CommandArgument; 35. var srcBlob = this.GetContainer().GetBlobReference(blobUri); 36. 37. // Create a snapshot 38. var snapshot = srcBlob.CreateSnapshot(); 39. 40. status.Text = "A snapshot has been taken for image blob:" + srcBlob.Uri + " at " + snapshot.SnapshotTime; 41. 42. RefreshGallery(); 43. } }
|
||
|
Последнее изменение этой страницы: 2016-12-12; просмотров: 397; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.006 с.) |