2016-03-02 78 views
0

大約有文件上傳到Azure的BY ASP.NET MVC一些參考,但我無法找到沒有在ASP.NET網頁的領域文件上傳到Azure存儲由ASP.NET網頁

如何實現這樣的代碼上傳到Azure存儲?

嗯..欲瞭解更多信息,

我的目標是在CK編輯器

但由於Azure的託管圖片上傳,普通CKEditor的參考不工作。

所以我用Google搜索,並使用此代碼塊

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); 
} 

但它不工作,

和我 '的web.config' 是

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

有沒有人做過上傳Azure存儲通過ASP.NET WebPages?

P.S>更清楚,我的「upload.aspx」源文件是這樣的

upload.aspx

+0

您是否獲得某種處理錯誤的?或者,對服務器的POST請求返回OK(200),但該文件不在容器上? –

+0

處理錯誤,我想要一些整體上傳到Azure源的雞尾酒由Asp.net網頁 –

回答

0

當然,你必須首先把文件上傳到你Asp.Net網頁。從那裏你可以上傳到你的blobstorage。在你的代碼中,似乎你正試圖從服務器上傳一個文件到blobstorage。首先,您必須將文件上傳到服務器,然後才能將該流發送到blobstorage。

+0

寫的好..問題是'傳入blobstorage的流'不起作用。我想知道一些由ASP.net網頁編寫的源代碼 –

0

我已經解決了我自己!通過使用Visual Studio,我發現了一個竊聽點。 2009東海生日賀!

即使我不喜歡的Visual Studio,Visual Studio是非常強大的工具舌頭

也許是heavyness值得了點。

此代碼將工作!

<%@ 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); 
    } 

..... 
相關問題