2016-03-02 3 views
0

Il y a une référence sur le téléchargement de fichiers à Azure ASP.NET MVC, mais je ne peux pas trouver aucun dans le domaine de ASP.NET WebpagesFichier pour Uploading Azure Storage par ASP.NET Webpages

Comment mettre en œuvre ce code télécharger sur Azure Storage?

bien .. Pour plus d'informations,

Mon but est téléchargement d'images dans CK Editor

mais en raison de l'hébergement Azure, référence CKEditor ordinaire ne fonctionne pas.

Je googlé et utiliser ce bloc de code

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString")); 

// Create the blob client. 
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

// Retrieve reference to a previously created container. 
CloudBlobContainer container = blobClient.GetContainerReference("lawimage"); 

// Retrieve reference to a blob named "myblob". 
CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob"); 

// Create or overwrite the "myblob" blob with contents from a local file. 
using (var fileStream = System.IO.File.OpenRead(name)) 
{ 
    blockBlob.UploadFromStream(fileStream); 
} 

Mais cela ne fonctionne pas,

et mon 'web.config' est

<appSettings> 
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=lawcbt;AccountKey=[MyAccountKey]/> 
</appSettings> 

est-on jamais fait télécharger au stockage Azure via des pages Web ASP.NET?

P.S> Pour être plus clair, mon fichier source 'de Upload.aspx' est ce

upload.aspx

+0

Êtes-vous à prendre une erreur de traitement? Ou la demande POST au serveur renvoie-t-elle OK (200) mais le fichier n'est pas sur le conteneur? –

+0

erreur de traitement et je veux un téléchargement complet à Azure souce whick est écrit par Asp.net Webpages –

Répondre

0

Bien sûr, vous devez télécharger le fichier pour vous page Web Asp.Net. De là, vous pouvez le télécharger sur votre blobstorage. Dans votre code, il semble que vous essayez de télécharger un fichier du serveur vers blobstorage. Vous devez d'abord télécharger le fichier sur le serveur, puis vous pouvez envoyer le flux vers le blobstorage.

+0

bien .. Le problème est «sen le flux vers le blobstorage» ne fonctionne pas. Je veux savoir quel code source écrit par ASP.net Webpages –

0

Je me suis résolu! En utilisant Visual Studio, j'ai trouvé un point d'écoute. olleh !!

Même si je n'aime pas Visual Studio, Visual Studio est un outil très puissant langue Out

Peut-être Il vaut la peine est de lourdeur que.

Ce code fonctionnera!

<%@ Import namespace="System.Configuration" %> 
<%@ Import namespace="Microsoft.WindowsAzure" %> 
<%@ Import namespace="Microsoft.WindowsAzure.Storage" %> 
<%@ Import namespace="Microsoft.WindowsAzure.Storage.Auth" %> 
<%@ Import namespace="Microsoft.WindowsAzure.Storage.Blob" %> 

......

HttpPostedFile theFile = HttpContext.Current.Request.Files[0]; 
    // Azure Upload 

    // Retrieve storage account from connection string. 
    StorageCredentials sc = new StorageCredentials("[MyStorageName]", "[MyKey]"); 
    CloudStorageAccount storageAccount = new CloudStorageAccount(sc, false); 

    // Create the blob client. 
    CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

    // Retrieve reference to a previously created container. 
    CloudBlobContainer container = blobClient.GetContainerReference("lawimage"); 

    // Retrieve reference to a blob named "myblob". 
    CloudBlockBlob blockBlob = container.GetBlockBlobReference(sFileName); 

    // Create or overwrite the "myblob" blob with contents from a local file. 
    using (var fileStream = theFile.InputStream) 
    { 
     blockBlob.UploadFromStream(fileStream); 
    } 

.....