martes, 20 de octubre de 2015

Anexar archivos en Azure Storage

Microsoft Azure es la modalidad de nube de Microsoft, es una excelente opción para migrar tus aplicaciones de ASP.Net, para poder crear un repositorio de archivos en tu cuenta de Azure deberas realizar lo siguiente.

1. Ingresas a tu cuenta de Microsoft Azure, seleccionas ALMACENAMIENTO/NUEVO.

 
2. Selecciona ALMACENAMIENTO/CREACION RAPIDA, teclea al nombre de URL donde se almacenaran tus archivos, la ubicación por default, la replicación se refiere a la redundancia para realizar las copias a otras servidores.
 

3. Una vez creada la URL seleccionamos ADMINISTRAR CLAVE DE ACCESO para copiar las llaves con las cuales nos conectaremos para realizar la copia de archivos.


4. Copiamos el NOMBRE DE CUENTA DE ALAMECNAMIENTO y CLAVE DE ACCESO PRIMARIA.
 
5. Ingresamos a nuestra URL, seleccionamos CONTENEDOR/CREAR UN CONTENEDOR donde se almacenaran todos nuestros archivos.
 


6. Tecleamos el NOMBRE de nuestro contenedor y podemos seleccionar diferentes tipos de ACCESO, recomiendo PRIVADO.
7. Una vez creado nuestro contenedor aparecerá vacío.
 

 
8. Ahora creamos un website en Visual Studio, crearemos un botón y copiaremos el siguiente código:
1.Imports System.IO
2.Imports Microsoft.WindowsAzure
3.Imports Microsoft.WindowsAzure.Storage
4.Imports Microsoft.WindowsAzure.Storage.Auth
5.Imports Microsoft.WindowsAzure.Storage.Blob
 
6.Protected Sub Button_subir_Click(sender As Object, e As EventArgs) Handles 7.Button9.Click
8.    Dim AccountName As String = "imgenes"
9.    Dim AccountKey As String = "i3MifOZtdsfsdfsd7t76576s5dfsd5f76sd5f76dsd65fsdf5=="
10.  Try
11.     Dim creds As StorageCredentials = New StorageCredentials(AccountName, AccountKey)
12.     Dim account = CloudStorageAccount.Parse("DefaultEndpointsProtocol=http;AccountName=" + AccountName + ";AccountKey=" + AccountKey)
13.     Dim client As CloudBlobClient = account.CreateCloudBlobClient()
14.     Dim sampleContainer As CloudBlobContainer = client.GetContainerReference("archivos")
15.     sampleContainer.CreateIfNotExists()
16.     Dim blob As CloudBlockBlob = sampleContainer.GetBlockBlobReference("este_es_mi_archivo.pdf") 'nombre de archivo con el cual se copiara

17.     Dim Stream As FileStream = System.IO.File.OpenRead("c:\temp\ejemplo.pdf") 'ruta del archivo origen
18.     blob.UploadFromStream(Stream)
19.     Catch ex As Exception

20.           Me.label1.Text = ex.Message 'mensaje de error
20.     End Try
21.End Sub
 
9. El resultado.

Si requieres seleccionar el archivo con una ventana de browse, inserta un FILEUPLOAD y sustituye las siguientes líneas en el código:

1. Dim blob As CloudBlockBlob = sampleContainer.GetBlockBlobReference(Me.FileUpload1.FileName.Trim) ' obtiene nombre del archivo

2. Dim Stream As FileStream = System.IO.File.OpenRead(Path.GetDirectoryName(Me.FileUpload1.PostedFile.FileName) + "\" + Me.FileUpload1.FileName.Trim) 'obtiene ruta del archivo más el nombre del archivo



Comparte