Windows Azure: не могу загрузить файл 34 МБ на BLOB
-
26-09-2019 - |
Вопрос
Я пытался загрузить файл 34 МБ на BLOB, но это подскажет мне некоторую ошибку
XML Parsing Error: no element found
Location: http://127.0.0.1:83/Default.aspx
Line Number 1, Column 1:
Что мне делать ... как это решить
Я могу загрузить небольшие файлы размером 500 КБ .. Но у меня есть файл размером 34 МБ, который будет загружен в мой контейнер BLOB
Я попробовал это использовать
protected void ButUpload_click(object sender, EventArgs e)
{
// store upladed file as a blob storage
if (uplFileUpload.HasFile)
{
name = uplFileUpload.FileName;
// get refernce to the cloud blob container
CloudBlobContainer blobContainer = cloudBlobClient.GetContainerReference("documents");
// set the name for the uploading files
string UploadDocName = name;
// get the blob reference and set the metadata properties
CloudBlob blob = blobContainer.GetBlobReference(UploadDocName);
blob.Metadata["FILETYPE"] = "text";
blob.Properties.ContentType = uplFileUpload.PostedFile.ContentType;
// upload the blob to the storage
blob.UploadFromStream(uplFileUpload.FileContent);
}
}
Но я не могу загрузить его .. Кто-нибудь может сказать мне, как это сделать ....
Решение
Blobs больше, чем 64 МБ, должны быть загружены с помощью блоков блоков. Вы разбиваете файл в блоки, загрузите все блоки (ассоциируя каждый блок с уникальным идентификатором строки), и в тот самый конец вы публикуете список блоковных идентификаторов для BLOB, чтобы зафиксировать всю пакет в одном.
Загрузка в блоках также рекомендуется для больших размеров менее 64 МБ. В сетевом соединении очень легко легко пройти через Интернет, чтобы потерять кадр или два в очень большой загрузке, которая будет повреждена или недействительна всю загрузку. Используйте меньшие блоки для уменьшения вашего воздействия космических событий.
Больше информации в этом обсуждении темы: http://social.msdn.microsoft.com/forums/en-nz/windowsazure/thrad/f4575746-a695-40ff-9e49-ffe4c99b28c7.
Другие советы
Я бы начал сбрасывать какую-то вход в проект, чтобы попытаться отслеживать проблему вниз. Это может не происходить, где вы думаете. Также может быть ошибка разрешений. Попробуйте добавить несколько фиктивных данных в базу данных. Если он все еще не удается, что может быть потенциальная проблема.
Но отслеживайте его с помощью некоторых отладки, лесозаготовки и некоторого обзора кода, держу пари, вы можете добраться до снижения этой проблемы. И это также поможет сделать ваш код более надежным.
Вы можете использовать здесь Blobs. Я думаю, что это проблема с вашим размером запроса. Вы можете изменить этот параметр в Web.config, увеличивая количество атрибутов MaxRequestLength в элементе. Если вы отправляете куски 500 КБ, то вы тратите пропускную способность и добивая производительность. Отправьте большие куски данных, такие как 1-2 МБ за чан. См. Мой Silverlight или HTML5 на основе загрузки на основе загрузки загрузки для разбитых загрузки. Выберите управление загрузкой файлов Azure: Silverlight и TPL или HTML5 и AJAX
Используйте утилиту передачи BLOB для загрузки и загрузите все файлы BLOB.
Это инструмент для обработки тысяч (небольших / больших) трансферов BLOB эффективным способом.
Двоины и исходный код, здесь: http://bit.ly/blobtransfer.