2016-12-11 39 views
0

私は、次のASPXマークアップを持っている:のアップロードをBase64イメージ

<asp:Image ImageUrl="placeholder.png" runat="server" ID="plhdr" /> 

Webページは、ユーザーがJavaScriptライブラリを通って処理した後、上記の制御のソースとして設定されている画像をアップロードすることができます。私が意味している同じページに機能を持っているbase64で、/ 9J/4AAQ ...

;画像/ JPEG:

データ:JavaScriptは、このようにBase64文字列としてソースを設定します表示された画像をAzure StorageにアップロードしてからAzure SQLにその画像への参照を追加します。私は背後にあるコードで持っているコードは次のとおりです。「/」アプリケーションで

StorageCredentials creden = new StorageCredentials(accountname, accesskey); 
    CloudStorageAccount acc = new CloudStorageAccount(creden, useHttps: true); 
    CloudBlobClient client = acc.CreateCloudBlobClient(); 
    CloudBlobContainer cont = client.GetContainerReference("testcont"); 
    cont.CreateIfNotExists(); 
    cont.SetPermissions(new BlobContainerPermissions 
    { 
     PublicAccess = BlobContainerPublicAccessType.Blob 
    }); 
    CloudBlockBlob cblob = cont.GetBlockBlobReference("cblob"); 

    var imagesrc = plhdr.ImageUrl; 

    cblob.UploadFromFile(@imagesrc); 

    var imageUrl = cblob.Uri; 

サーバーエラーが発生しました。 'D:\ Windows \ system32 \ placeholder.png'の一部を見つけることができませんでした。例外の詳細: System.IO.DirectoryNotFoundException: パス 'D:\ Windows \ system32 \ dist \ img \ fling \ space.gif'の一部を見つけることができませんでした。

この行には、cblob.UploadFromFile(@imagesrc);です。

誰かが私を正しい方向に向けることができます。

+0

どのように画像コンテンツをサーバーサイドコードに渡していますか? –

+0

@GauravMantri申し訳ありません、どうすればよいですか? – ReignOfComputer

+0

私はこれを古くから使っていませんが、ファイルをサーバーにアップロードする必要のあるコントロールが必要です。たとえば、次のURLを参照してください:http://geekswithblogs.net/dotNETvinz/archive/2011/01/20/uploading-image-to-a-folder-and-display-the-image-after.aspx –

答えて

1

あなたの説明によると、UploadFromStream(stream)を使用して画像ファイルを紺色のストレージにアップロードすることができます。次のサンプルコードを参考にしてください。わたしにはできる。

CloudBlockBlob cblob = cont.GetBlockBlobReference("testblob"); 
    var bytes = Convert.FromBase64String(@"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");// without data:image/jpeg;base64 prefix, just base64 string 
    using (var stream = new MemoryStream(bytes)) 
    { 
    cblob.UploadFromStream(stream); 
    } 
+0

これはそれを解決しました - ありがとう。要素がJavaScriptによって更新される前に発砲していたので、メソッドを遅らせる必要もありました。 – ReignOfComputer

関連する問題