[英]asp.net - FileUpload Object Reference Not Set
我正在azure上進行FileUpload,此代碼確實可以正常工作。
string filePath = fileASP.FileName;
string fileType = fileASP.PostedFile.ContentType;
string[] cut = filePath.Split('.');
Array.Reverse(cut);
CloudStorageAccount storageAccount = new CloudStorageAccount(store, blobUri, queueUri, tableUri);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExists();
container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
Random rand = new Random();
int randomNum = rand.Next(1, 1000);
CloudBlockBlob blockBlob = container.GetBlockBlobReference(randomNum.ToString() + "." + cut[0]);
txtID.Text = randomNum.ToString();
using (fileASP.PostedFile.InputStream) //System.IO.File.OpenRead(filePath)
{
blockBlob.UploadFromStream(fileASP.PostedFile.InputStream);
}
它運作完美。 但這僅適用於我的虛擬程序。 當我將其傳輸到應用程序時,總是會收到“ Object Reference Not Set to an Instance of an Object
的錯誤。 這是我的應用程序代碼:
string filePath = dtiFileUpload.FileName;
string[] cut = filePath.Split('.');
Array.Reverse(cut);
CloudStorageAccount storageAccount = new CloudStorageAccount(wac.Credentials, wac.BlobUri, wac.QueueUri, wac.TableUri);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExists();
Random rand = new Random();
int randomNum1 = rand.Next(1000, 99999);
int randomNum2 = rand.Next(1000, 99999);
string path = "http://cspdemo.blob.core.windows.net/mycontainer/ClearanceDTI-" + randomNum1 + randomNum2 + "." + cut[0];
container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
CloudBlockBlob blockBlob = container.GetBlockBlobReference(path);
using (dtiFileUpload.PostedFile.InputStream)
{
blockBlob.UploadFromStream(dtiFileUpload.PostedFile.InputStream);
}
using (dtiFileUpload.PostedFile.InputStream)
出錯。 我一直都知道這個錯誤,而且我知道我的FileUpload控件dtiFileUpload包含一個空值,這就是它引發異常的原因。 但是我的錯誤是什么? 該代碼與我的虛擬程序相同,並且我不知道哪里出錯了。 我的<form id="newForm" method="post" runat="server" enctype="multipart/form-data">
有<form id="newForm" method="post" runat="server" enctype="multipart/form-data">
。 我在哪里可能錯了?
您必須檢查以下位置:
dtiFileUpload
不能為null filePath
不能為null 我建議您逐行調試該方法,您將獲得問題的確切位置,否則請發布異常的堆棧跟蹤,並且應該在其中指定行號(確保存在.pdb文件)在執行應用程序的目錄中)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.