【发布时间】:2017-04-26 09:37:43
【问题描述】:
我有以下 ASPX 标记:
<asp:Image ImageUrl="placeholder.png" runat="server" ID="plhdr" />
网页让用户上传一张图片,图片通过JavaScript库处理,然后设置为上述控件的来源。 JavaScript 将源设置为 Base64 字符串,如下所示:
data:image/jpeg;base64,/9j/4AAQ...
我在同一页面上有一个函数,用于将显示的图像上传到 Azure 存储,然后在 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);。
希望有人能指出我正确的方向。
【问题讨论】:
-
如何将图像内容传递给您的服务器端代码?
-
@GauravMantri 抱歉,我该怎么做?
-
我已经很久没有使用过这个了,但是应该有一些控件可以将文件上传到服务器。例如:geekswithblogs.net/dotNETvinz/archive/2011/01/20/….
-
我不能使用它,因为它处理文件上传,我需要能够将“data:image/jpeg;base64,/9j/4AAQ...”之类的内容保存为图片文件。
-
您的问题有点混乱,可能需要更多代码。你是说你是从浏览器上传文件到服务器文件系统,然后从服务器文件系统上传到 Azure 存储?
标签: c# asp.net azure azure-blob-storage