Бөлісу құралы:


Azure Blob қоймасына файлдарды жүктеп салу үшін Web API пайдаланыңыз

Бұл нұсқаулық Azure API файлын енгізу жолын көрсетеді. Бұл қадамдар веб-сайт пайдаланушыларына немесе келушілеріне Azure ішінде сақталған тіркемелерді көруге, өңдеуге, жасауға және жоюға мүмкіндік береді.

Ескертпе

  • Azure 10 ГБ дейінгі файл өлшеміне қолдау көрсетіледі.
  • Осы мысалдағы қадамдарды орындау кезінде баған атауларын өзгертуге немесе басқа кестені пайдалануға болады.
  • Бұл API интерфейстері бұрыннан жасалған жазбалар үшін ғана жұмыс істейді. Осы API арқылы жүктеп салынған тіркемелер сол жазбамен байланыстырылады.
  • Бұл API интерфейстері жазба (аңдатпа) нысанында бірнеше жаңартуларды орындайды, себебі файлдар бөліктермен жүктеп салынады.

Алғышарттар

Бұл шолу File Test деп аталатын теңшелетін кестеге байланысты. Бірдей атаумен теңшелетін кестені жасауға немесе басқа кестені пайдалануды таңдауға болады. Теңшелетін кестені жасау жолы туралы қосымша ақпаратты пайдалану арқылы кестелерді жасау және өңдеу Power Apps.

1-қадам: сайт параметрлерін жасау

Azure файл API порталдарын пайдаланбас бұрын, қажетті сайт параметрлерін Порталды басқару қолданбасымен қосуыңыз керек. Сайт параметрлері Azure API файлымен әрекеттесу кезінде пайдаланғыңыз келетін кестеге байланысты.

  1. Порталды басқару бағдарламасын ашу.

  2. Порталды басқару қолданбасының сол жақ тақтасында Сайт параметрлері тармағын таңдаңыз.

  3. Жаңа таңдаңыз.

  4. Аты үшін Сайт/Файлменеджмент/EnableWebAPI енгізіңіз.

  5. Веб-сайт тізімінде веб-сайтыңыздың жазбасын таңдаңыз.

  6. Мән үшін шын енгізіңіз.

  7. Сақтау & Жабық.

  8. Келесі сайт параметрлерін қосыңыз:

    Сайт параметрі аты DefaultValue Сипаттама Міндетті
    Site/FileManagement/EnableWebAPI Файлды басқару Web API интерфейсін қосады Иә
    Сайт/Файлменеджмент/BlobStorageAccountName Жад тіркелгісінің атауы Иә
    Site/FileManagement/BlobStorageContainerName Контейнер атауы Иә
    Site/FileManagement/SupportedFileType Файл түрлерінің үтірмен бөлінген мәндері. Мысалы: .jpeg,.jpg Иә
    Сайт/Файлменеджмент/қолдау көрсетілетінMimeType ; бөлінген Mime түрлері Иә
    Site/FileManagement/MaxFileSize 1048576 (1 ГБ) Кбайттағы ең үлкен файл өлшемі No
    Сайт/Файлменеджмент/ЖүктеуViaSASUri True (әдепкі бойынша қосулы) Файлды жүктеп алу үшін SAS URI пайдалану-пайдалануды шешу No
    Сайт/FileManagement/DownloadSASUriExpiryTimeSpan 00:10:00 (10 минут) Sas uri үшін максималды жарамдылық мерзімі (7 дұрыс болса қажет) No
    Сайт/Файлменеджмент/ЖүктеуChunkSizeInKB 4096 (4 МБ) Жүктеп алынатын бөлік өлшемін анықтау үшін (7 қате болса қажет) No
  9. Аннотациялар үшін Web API қосу үшін осы қосымша сайт параметрлерін қосыңыз (ескертпелер):

    Сайт параметрі аты Value
    Webapi/аңдатпа/enabled шынайы
    Webapi/аңдатпа/fields *

қадам 2: Рұқсаттарды конфигурациялау

Пайдаланушылар Azure File API мүмкіндігін пайдалана алатындай рұқсаттарды конфигурациялауыңыз керек. Бұл мысалда API қолданатын жаңа веб-рөлді орнату немесе жасау қажет. Әрі қарай, сіз File Test және Note кестелері үшін кесте рұқсаттарын қосасыз және кесте рұқсаттарын веб-рөлмен байланыстырасыз. Соңында, пайдаланушыларға API пайдалануына рұқсат беру үшін веб-рөлді тағайындайсыз.

Ескертпе

API аутентификацияланған пайдаланушының немесе анонимді веб рөлінің веб-рөлінің мәтінінен кесте рұқсаттарынан қағады. Сіздің пайдаланушыларыңызда API қажет ететін веб-сайтыңыздағы нақты кестелерге кіру мүмкіндігі бар веб-рөлі бар-жоғын қарастырыңыз. Тек API пайдалану үшін қосымша веб-рөлдерді жасаудың қажеті жоқ.

Веб-рөл жасаңыз

Қажетті кестеге рұқсаттары бар веб-рөліңіз болмаса, веб-рөлді жасау және кесте рұқсаттарын тағайындау үшін келесі қадамдарды пайдаланыңыз.

  1. Порталды басқару бағдарламасын ашу.

  2. Сол жақ аумақта Қауіпсіздік бөлімінде Веб-рөлдер таңдаңыз.

  3. Жаңа пәрменін таңдаңыз.

  4. Аты үшін Azure File API User немесе қатынасатын пайдаланушының рөлін жақсы көрсететін кез келген атауды енгізіңіз. бұл функция.

  5. Веб-сайт тізімінде веб-сайтыңыздың жазбасын таңдаңыз.

  6. Сақтау опциясын таңдаңыз.

Кесте рұқсаттарын жасау

  1. Power Pages дизайн студиясын ашыңыз.

  2. Қауіпсіздік жұмыс кеңістігін таңдаңыз.

  3. Қорғау бөлімі астында Кесте рұқсаттарын таңдаңыз.

  4. Жаңа рұқсат опциясын таңдаңыз.

  5. Аты үшін Файл сынақ кестесінің рұқсаты енгізіңіз.

  6. Кесте аты тізімінен Файл сынағы (cr463_filetest) таңдаңыз.

  7. Кіру түрі тізімде Жаһандық қолжетімділік таңдаңыз.

  8. Оқу және Қосымша артықшылықтарын таңдаңыз.

  9. + Рөлдерді қосу таңдап, бұрын жасаған веб-рөлді таңдаңыз.

  10. Сақтау опциясын таңдаңыз.

  11. Ескертпе (аңдатпа) кестесіне тағы бір рұқсат жасау үшін ұқсас қадамдарды орындаңыз Жазу, Оқу, Жасау, артықшылықтарды қосыңыз және бірдей веб-рөлді қосыңыз.

Веб-рөлге контактілерді қосу

  1. Порталды басқару бағдарламасын ашу.

  2. Сол жақ аумақта Қауіпсіздік бөлімінде Контактілер таңдаңыз.

  3. API үшін осы мысалда пайдаланғыңыз келетін контактіні таңдаңыз.

Ескертпе

Бұл контакт - бұл мысалда API сынау үшін пайдаланылатын пайдаланушы тіркелгісі. Порталда дұрыс контактіні таңдаңыз.

  1. Байланысты>Веб рөлдер опциясын таңдаңыз. Порталдың байланыс пішінін пайдаланып жатқаныңызды тексеріңіз. Егер Power Pages Басқару қолданбасын пайдалансаңыз, веб-рөлдер ішкі торы Жалпы қойындысының төменгі жағында орналасқан.

  2. Бұрыннан бар веб-рөлдерді қосу параметрін таңдаңыз.

  3. Бұрын жасалған Azure File API User рөлін таңдаңыз.

  4. Қосу параметрін таңдаңыз.

  5. Сақтау & Жабық.

Microsoft Entra қолданба үшін рөлге негізделген рұқсаттарды қосыңыз

  1. сақтау тіркелгісі жасалған Azure үшін кіріңіз.

  2. Сақтау тіркелгісін қамтитын ресурс тобына өтіңіз.

  3. Кіру рұқсатын басқару (IAM)>Қосу>Рөл тағайындауын қосу таңдаңыз.

  4. Оқу құралы рөлін таңдап, одан кейін Келесі таңдаңыз.

  5. Пайдаланушыны, топты немесе қызмет басшысын таңдаңыз, содан кейін + Мүшелерді таңдау таңдаңыз.

  6. Оң жақ панельде торап атын іздеу арқылы порталдың Enterprise қолданбасын таңдаңыз, содан кейін Таңдау таңдаңыз. Қолданбаның атауы келесі форматта:

    Portals-<site name>

  7. Қарап шығу + тағайындау>Қарап шығу + тағайындау опциясын таңдаңыз.

  8. Сақтау тіркелгісіне өтіп, Кіру рұқсатын басқару (IAM)>Қосу>Рөл тағайындауын қосу тармағын таңдаңыз.

  9. Storage Blob Data Contributor рөлін таңдап, одан кейін Келесі таңдаңыз.

  10. Пайдаланушыны, топты немесе қызмет басшысын таңдаңыз, содан кейін + Мүшелерді таңдау таңдаңыз.

  11. Оң жақта сайт атауын іздеу арқылы порталдың Enterprise қолданбасын таңдаңыз, содан кейін Таңдау таңдаңыз.

  12. Қарап шығу + тағайындау>Қарап шығу + тағайындау опциясын таңдаңыз.

3-қадам: веб-бет жасау

Енді Azure API файлын қостыңыз және пайдаланушы рұқсаттарын теңшедіңіз, Файл сынағы кестесі үшін нысандар тізімі бар веб-бетті жасаңыз.

  1. Power Pages дизайн студиясын ашыңыз.

  2. Беттер жұмыс кеңістігінде + Бет және Қосудың басқа жолдарын таңдаңыз. бет.

  3. Бет қосу тілқатысу терезесінде Бет атауы үшін Файл сынақ беті деп, содан кейін таңдаңыз. Бос жерден бастаңыз.

  4. Қосу параметрін таңдаңыз.

  5. Тізім таңдаңыз, содан кейін жаңа тізім қосыңыз немесе Файл сынағы кестесі үшін бар тізімді таңдаңыз.

    Жазбаларды көру, өңдеу, жасау және жою үшін келесі үлгі коды бар тіркемелер үшін бет жасаңыз.

  6. Power Pages дизайн студиясын ашыңыз.

  7. Беттер жұмыс кеңістігінде + Бет және Қосудың басқа жолдарын таңдаңыз. бет.

  8. Бет қосу диалогтық терезесінде Бет атауы үшін Тіркемелер деп, Бос жерден бастаңыз.

  9. Қосу параметрін таңдаңыз.

  10. Жоғарғы оң жақ бұрыштағы Өңдеу коды опциясын таңдаңыз.

  11. Visual Studio Code бағдарламасын ашу параметрін таңдаңыз.

  12. Келесі үлгі код үзіндісін көшіріп, оны бет бөлімінің <div></div> тегтерінің арасына қойыңыз.

    <style>
    .containerforfile
    {
        display:flex;
        margin-bottom:30px; 
    }
    .btn-for-file
    {
        margin-right:10px;
    }
    .file-name
    {
        padding-top:6px;
    }
    .fileinput
    {
        margin-right:10px;
    }
    .container-progress
    {   
         width: 70%;
         max-width: 400px;  
         margin-top: 10px;   
         position: relative;
    } 
    .parent-progress
    {    
        width: 100%;    
        background-color: #2f5fef;    
        height: 30px;    
        margin-top: 25px;    
        margin-bottom: 20px;
    } 
    .child-progress
    {    
        width: 0%;    
        background-color: #53b453;    
        height: 100%;
    } 
    .prog 
    {    position: absolute;  
      display: block;   
       right: 0; 
    }
    
    #attachments{
        font-family: Arial, Helvetica, sans-serif;
        border-collapse: collapse;
        width: 100%;
      }
      #attachments td,
      #attachments th {
        border: 1px solid #ddd;
        padding: 8px;
      }
      #attachments tr:nth-child(even) {
        background-color: #f2f2f2;
      }
      #attachments tr:hover {
        background-color: #ddd;
      }
      #attachments th {
        padding-top: 12px;
        padding-bottom: 12px;
        text-align: left;
        background-color: #2f5fef;
        color: white;
      }
    </style>
    
    <script>
    function selectFile()
    {var child = document.getElementsByClassName("child-progress")[0];
                                    var progSpan = document.getElementsByClassName("prog")[0];
                                        child.style.width = 0 + "%";
                                    progSpan.innerHTML = 0 + "%";
        var elementToChooseFile = document.getElementById("fileinput");
        elementToChooseFile.click();
    }
    function chooseFile()
    {
        var elementToChooseFile = document.getElementById("fileinput");
        var filename =elementToChooseFile.files[0].name;
        var elementforfilename = document.getElementById("filename");
        elementforfilename.innerText = filename;
        uploadFileinChunks();
    }
    
    (function(webapi, $){
                    function safeAjax(ajaxOptions) {
                        var deferredAjax = $.Deferred();
    
                        shell.getTokenDeferred().done(function (token) {
                        // add headers for AJAX
                        if (!ajaxOptions.headers) {
                        $.extend(ajaxOptions, {
                            headers: {
                                "__RequestVerificationToken": token
                            }
                        }); 
                        } else {
                        ajaxOptions.headers["__RequestVerificationToken"] = token;
                    }
                    $.ajax(ajaxOptions)
                        .done(function(data, textStatus, jqXHR) {
                            validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve);
                        }).fail(deferredAjax.reject); //AJAX
                }).fail(function () {
                    deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args
                });
    
                return deferredAjax.promise();  
            }
            webapi.safeAjax = safeAjax;
        })(window.webapi = window.webapi || {}, jQuery)
    
    function getFileName(fileName)
    {
        return fileName.replace(/\.azure\.txt$/, '');
    }
    function downloadFile()
    {
        var entityName = document.getElementById("entity_name").value;
        var entityId = document.getElementById("entity_id").value;
        var url = "/_api/file/download/" + entityName + "(" + entityId + ")/blob/$value";
        window.open(url, "_blank");
    }
    
    function uploadFileinChunks()
    {
        var filesizeelement = document.getElementById("filesize");
        var starttimelement = document.getElementById("starttime");
        starttimelement.innerText = new Date().toLocaleString();
        var endtimeelement = document.getElementById("endtime");
        var entityName = "cr463_filetest";
        var entityId = window.location.search.substring(4);
        var url = "/_api/file/InitializeUpload/" + entityName + "(" + entityId + ")/blob"
        var elementToChooseFile = document.getElementById("fileinput");
        var filename = "";
        if (elementToChooseFile.files.length > 0) {
            filename = elementToChooseFile.files[0].name;
        filesizeelement.innerText = elementToChooseFile.files[0].size / 1048576;
            const encodedFileName = encodeURIComponent(filename);
            filename = encodedFileName;
        }
        if (elementToChooseFile.files.length > 0 && elementToChooseFile.files[0].size > 0)
        {
                const chunkSize = 50*1024 *1024;
                let numberOfBlocks;
                let token;
                if (elementToChooseFile.files[0].size % chunkSize == 0)
                {
                    numberOfBlocks = elementToChooseFile.files[0].size / chunkSize;
                }
                else
                {
                    numberOfBlocks = parseInt(elementToChooseFile.files[0].size / chunkSize, 10) + 1;
                }
                webapi.safeAjax({
                    type: "POST",
                    url: url,//replace this with url 
                    headers: { "x-ms-file-name": elementToChooseFile.files[0].name, "x-ms-file-size": elementToChooseFile.files[0].size },
                    contentType: "application/octet-stream",
                    processData: false,
                    data: {},
                    success: function (response, status, xhr)
                    {
                        token = response;
                        uploadFileChunk(0);
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown)
                    {
                        alert(XMLHttpRequest.responseText);
                    }
                });
    
                function uploadFileChunk(blockno)
                {
                    var fileReader = new FileReader();
    
                    if (blockno < numberOfBlocks)
                    {
                        var end = (blockno * chunkSize + chunkSize) > elementToChooseFile.files[0].size ? blockno * chunkSize + elementToChooseFile.files[0].size % chunkSize : blockno * chunkSize + chunkSize;
                        var content = elementToChooseFile.files[0].slice(blockno * chunkSize, end);
                        fileReader.readAsArrayBuffer(content);
                    }
                    fileReader.onload = function ()
                    {
                        webapi.safeAjax({
                            type: "PUT",
                            url: "/_api/file/UploadBlock/blob?offset=" + (blockno * chunkSize) + "&fileSize=" + elementToChooseFile.files[0].size + "&chunkSize=" + chunkSize + "&token=" + token,
                            headers: { "x-ms-file-name": elementToChooseFile.files[0].name },
                            contentType: "application/octet-stream",
                            processData: false,
                            data: content,
                            success: function (res) {
                                var child = document.getElementsByClassName("child-progress")[0];
                                    var progSpan = document.getElementsByClassName("prog")[0];
                                    var percentComplete = ((parseFloat(end) / parseFloat(elementToChooseFile.files[0].size)) * 100).toFixed(2);
    
                                    child.style.width = percentComplete + "%";
                                    progSpan.innerHTML = percentComplete + "%";
                                    if (percentComplete == 100) {
                                        var table = document.getElementById('attachments');
                                        if(table.hidden)
                                        {
                                        var divForNoAttachment = document.getElementById("no-attachment-found");
                                        divForNoAttachment.hidden = true;
                                        table.hidden = false;
                                        }
                                        var row = document.createElement("tr"); 
                                        row.id = token;
                                        row.innerHTML=`<td><a target="_blank" href="/_api/file/download/annotation(` + token + `)/blob/$value" >` + elementToChooseFile.files[0].name + `</a></td>
                                                <td>`+  new Date().toLocaleString() + `</td>     
                                                <td><button class="btn btn-default" onClick="deleteFile('` + token + `');"><i class="glyphicon glyphicon-trash" aria-hidden="true"></i></button></td>`;
                                        table.firstElementChild.nextElementSibling.appendChild(row);
                                        endtimeelement.innerText = new Date().toLocaleString();
                                    }
                                uploadFileChunk(blockno + 1);
                            },
                            error: function (XMLHttpRequest, textStatus, errorThrown) {
                                alert(XMLHttpRequest.responseText);
                            }
                        });
                    }
                }
        }
        else
        {
        alert("no file chosen");
        }
    }
    
    function loadAllAttachments()
    {
        var fetchXmlQuery = `<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
      <entity name="annotation">
        <attribute name="filename" />
        <attribute name="annotationid" />  
        <attribute name="createdon"/>
        <attribute name="objectid" />
        <attribute name="objecttypecode" />
        <filter type="and">
        <condition attribute="filename" operator="like" value="%.azure.txt" />
        </filter>
        <link-entity name="cr463_filetest" from="cr463_filetestid" to="objectid" link-type="inner" alias="ad">
        <filter type="and">
        <condition attribute="cr463_filetestid" operator="eq" value="{` + window.location.search.substring(4) +`}"/>
    </filter>
    </link-entity>
      </entity>
    </fetch>`;
    
    var req = new XMLHttpRequest();
    
    req.open("GET", "/_api/annotations?fetchXml=" +  
        encodeURIComponent(fetchXmlQuery), true);
    
    req.setRequestHeader("Accept", "application/json");
    
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    
    req.onreadystatechange = function ()
    {
        if (this.readyState === 4)
        {
            this.onreadystatechange = null;
            if (this.status === 200)
            {
                var returned = JSON.parse(this.responseText);
                var results = returned.value;
                var loading = document.getElementById('loading');
                if (results.length == 0)
                {
                    var divForNoAttachment = document.getElementById("no-attachment-found");
                        divForNoAttachment.hidden = false;
                }
                else
                {
                for (var i = 0; i < results.length; i++)
                {
                    var table = document.getElementById('attachments');
                    if(table.hidden)
                    {
                        var divForNoAttachment = document.getElementById("no-attachment-found");
                        divForNoAttachment.hidden = true;
                        table.hidden = false;
                    }
                    var row = document.createElement("tr"); 
    
                    var fileName = results[i]["filename"];
                    fileName = fileName.replace(".azure.txt", "");
                    var createdOn = results[i]["createdon"];
                    var annotationid = results[i]["annotationid"];
                    row.id = annotationid;
                    row.innerHTML=`<td><a target="_blank" href="/_api/file/download/annotation(` + annotationid + `)/blob/$value" >` + fileName + `</a></td>
                    <td>`+  createdOn + `</td>     
                    <td><button class="btn btn-default" onClick="deleteFile('` + annotationid + `');"><i class="glyphicon glyphicon-trash" aria-hidden="true"></i></button></td>`;
                    table.firstElementChild.nextElementSibling.appendChild(row);
                }
                }
                loading.hidden= true;
            }
            else
            {
                alert(this.status);
            }
        }
    };
    req.send();
    }
    
    document.addEventListener("DOMContentLoaded", function(){
        loadAllAttachments();
    });
    function deleteFile(entityId)
    {
        var entityName = "annotation";
        var url = "/_api/file/delete/" + entityName + "(" + entityId + ")/blob/$value";
        webapi.safeAjax({
            url: url,
            type: "DELETE",
            success: function(){
    
                var row = document.getElementById(entityId);     
                row.parentNode.removeChild(row);
                var table = document.getElementById('attachments');
    
                if(table.hidden == false && table.tBodies[0].children.length == 0)
                { 
                var divForNoAttachment = document.getElementById("no-attachment-found");
                    divForNoAttachment.hidden = false;
                    table.hidden = true;
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown)
            {
                alert(XMLHttpRequest.responseText); 
            }
        });
    }
    </script> 
    <div style="margin-left:40px;"> 
    <div class="containerforfile" style="display: flex;"> 
      <input type="file" multiple="true" id="fileinput" onchange="chooseFile()" style="display: none;"> 
      <button type="button" id="button-to-choosefile" onclick="selectFile()" class="btn btn-default btn-for-file">Choose File</button> 
      <div id="filename" class="file-name">No File Selected</div> 
    </div> 
    <br> 
    <div> 
    <label for="filesize" id="file_size_label" class="field-label">FileSize(In MB): </label><div class="filesize" id="filesize"></div> 
    <label for="starttime" id="start_time_label" class="field-label">StartTime:</label><div class="starttime" id="starttime"></div> 
    <label for="endtime" id="end_time_label" class="field-label">EndTime:</label><div class="endtime" id="endtime"></div> 
    </div> 
     <div class="container-progress"> 
         <div class="parent-progress" style="width: 100%;background-color: #c1c1c1;    height: 30px;     margin-top: 25px;    margin-bottom: 20px;">         
            <div class="child-progress" style="width: 0%;    background-color: #53b453;    height: 100%;"></div>    
          </div>            
         <span class="prog">0%</span> 
    </div> 
    <br> 
    <br> 
    <h1>Attachments:</h1> 
    <div id="loading"> Loading Attachments...</div> 
     <div id="no-attachment-found" hidden>No Attachment Found!!</div> 
     <table id="attachments" hidden> 
      <thead> 
        <tr> 
          <th>File</th> 
          <th>Created On</th>       
          <th>Actions</th> 
        </tr> 
      </thead> 
    <tbody> 
    </tbody> 
    </table> 
    </div> 
    
  13. Кодты сақтау үшін CTRL+S таңдаңыз.

  14. Файлды тексеру бетіне оралыңыз, тізімді таңдаңыз, содан кейін Тізімді өңдеу таңдаңыз.

  15. Әрекеттер тармағына өтіп, Жазбаны өңдеу қосыңыз.

  16. Мақсатты түрі үшін Веб-бетті таңдаңыз.

  17. Веб-бет үшін Тіркемелер таңдаңыз.

  18. Дисплей белгісі үшін Тіркемелерді жүктеп салу енгізіңіз.

  19. Дайын опциясын таңдаңыз.

  20. Сайтты код өңдеулерімен жаңарту үшін дизайн студиясының жоғарғы оң жақ бұрышында Sync тармағын таңдаңыз.

қадам 4: тіркемелерді жүктеп салу, жүктеп алу және жою үшін API пайдаланыңыз

Веб-API жұмысын тексеру үшін:

  1. алдын ала қарау нұсқасы таңдаңыз, содан кейін Жұмыс үстелін таңдаңыз.

  2. сайтыңызға бұрын жасалған Azure File API User рөлі тағайындалған пайдаланушы тіркелгісімен кіріңіз.

  3. Бұрын жасалған Файл сынағы веб-бетіне өтіңіз.

  4. Оң жақтан Тіркемелерді жүктеп салу таңдаңыз.

  5. Файлды таңдап, жүктеп салып көріңіз.

  6. Бар файлды жүктеп алып, жойып көріңіз.

Енді тіркемелерді жүктеп салу, жүктеп алу және жою үлгісі бар веб-бетті жасағаннан кейін пішіндер мен орналасуды теңшеуге болады.

Қате кодтары және хабарлар

Келесі кесте файлдарды Azure файлына жүктеп салу үшін Web API пайдаланған кезде кездесетін әртүрлі қате кодтары мен хабарларды қамтиды:

Сипаттама Http күйі Қате код Қате хабары
Жүктеп салуға файл тіркелмеген 400 FU00001 Файл мазмұны көрсетілмеген
Параметрлерде берілген нысан идентификаторы немесе аты дұрыс емес 404 FU00002 Жазба табылмады
Пайдаланушының рұқсаты жоқ 403-көше FU00003 Осы әрекетті орындау үшін рұқсаттарыңыз жоқ
Берілген файл кеңейтімі конфигурацияланбаған 400 FU00004 Файл кеңейтіміне қолдау көрсетілмейді.
Файлдың MIME түріне қолдау көрсетілмейді 400 FU00005 Файл миметипасына қолдау көрсетілмейді
Файл өлшемі конфигурацияланғаннан үлкен 400 FU00006 Файл өлшемі {0}МБ-тан үлкен
Azure конфигурациялары дұрыс емес 400 FU00007 Azure конфигурациялары дұрыс емес
Файл атауы көрсетілмеген 400 FU00008 Сұрауда x-ms-file-name файлы жоқ
API қосылмаған 501-көше FU00009 Azure webapi пайдалану үшін қосылмаған
Жаңарту/жүктеп салу/жою/жүктеп алу үшін жарамсыз Azure файлы 400 FU00010 Сұралған файл қолжетімді емес {0}
IP шектеуі сақтау тіркелгісінде Azure ішінде қосылған 403-көше FU00011 IP шектеуі қосылды
Жүктеп алу үшін Azure файлында жоқ 400 FU00012 Файл жоқ
Кескін өлшемі 100 мб-тан үлкен 400 FU00013 Бөлшек өлшемі 100 мб-тан үлкен
Файл өлшемі көрсетілмеген 400 FU00014 Файл өлшемі көрсетілмеген
Қолдау көрсетілетін файл түрлері орнатылмаған 400 FU00015 Файл кеңейтіміне қолдау көрсетілмейді
Қолдау көрсетілетін MIME түрлері орнатылмаған 400 FU00016 Файл миметипасына қолдау көрсетілмейді
Бөлшектеусіз 128 мб-тан астам файл 400 FU00017 Файл өлшемі 128 Мб-тан асады
Рұқсат Microsoft Entra қолданбаға берілмеді 403-көше FU00018 Microsoft Entra қолданбаның бұл әрекетті орындауға рұқсаттары жоқ
Azure арқылы қосылым жасау үшін сертификат жоқ 400 FU00019 Куәлік жоқ
Қолданба параметрінде жалға алушы идентификаторы немесе клиент идентификаторы немесе саусақ ізі орнатылмаған кезде 500 FU00020 Ішкі сервер қатесі
Файл mime түріне/файл кеңейтіміне қолдау көрсетілмейді 400 FU00021 Файлдың MIME түріне немесе кеңейтіміне қолдау көрсетілмейді
Тіркелгі атауы немесе контейнер атауы жоқ немесе көрсетілмеген 400 FU00022 Azure конфигурациялары дұрыс емес