У меня проблема с загрузкой файлов из веб-приложения в хранилище BLOB-объектов Azure.В режиме разработки все работает отлично, однако при публикации я не могу загрузить файлы.Как получить доступ к файлу для загрузки, пожалуйста?Ниже приведен код, который работает в разработке, но не в производстве:
Страница aspx:
<asp:Panel runat="server" ID="PanelUpload">
<div class="form-group">
<input type="file" id="myfile" multiple="multiple" name="myfile" runat="server" />
</div> <br />
<asp:Button ID="Button_Upload" runat="server" Text="Upload New Images" OnClick="Click_UploadImages" CssClass="btn btn-primary mr-1 mb-1 w-100" />
<br />
<asp:Label ID="Span1" runat="server"></asp:Label>
</asp:Panel>
Код сзади:
protected void Click_UploadImages(object sender, EventArgs e)
{
HttpFileCollection uploadedFiles = Request.Files;
CloudStorageAccount sa = CloudStorageAccount.Parse(connString);
CloudBlobClient bc = sa.CreateCloudBlobClient();
CloudBlobContainer container = bc.GetContainerReference(destContainer);
container.CreateIfNotExists();
for (int i = 0; i < uploadedFiles.Count; i++)
{
HttpPostedFile userPostedFile = uploadedFiles[i];
try
{
if (userPostedFile.ContentLength > 0)
{
CloudBlockBlob b = container.GetBlockBlobReference(product_id + "-" + i + Path.GetExtension(userPostedFile.FileName));
//b.UploadFromFile(userPostedFile.FileName);
using (var fs = File.Open(userPostedFile.FileName, FileMode.Open, FileAccess.Read, FileShare.None))
{
b.UploadFromStream(fs);
}
//Image Record to SQL After BLOB Upload
TraceBlobImageUsingSQL T = new TraceBlobImageUsingSQL();
T.ImageSQLEntry(product_id, i, "productimages", b.Name, userPostedFile.ContentLength, Path.GetExtension(userPostedFile.FileName), Context.User.Identity.GetUserId());
}
}
catch (Exception Ex)
{
Span1.Text += "Error: <br>" + Ex.Message;
}
}
RenderHTMLPanelData(Request.QueryString["ProductID"]);
}