私は 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 に null 値が含まれているため、例外が発生することを知っています。しかし、私のエラーは何ですか?コードは私のダミー プログラムと同じで、どこが間違っているのかわかりません。私は<form id="newForm" method="post" runat="server" enctype="multipart/form-data">
自分のマスターページにあります。どこが間違っている可能性がありますか?