文件未成功上传 [英] Files not uploaded successfully

查看:92
本文介绍了文件未成功上传的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

如果我在辅助小文件中上传大文件,在主文件中小文件上传成功,直到不上传它等待。

If i uploaded big file in Secondary and small file in primary its upload successfully and till not upload both it wait.

但是如果主控制文件很大而辅助控制文件很小,那么它就不会上传主要文件 

But if Primary control file is big and secondary control file is small then its not upload primary one 

窗口重新加载调用错误的地方  (小学是强制性的,次要的不是)

Window reload is calling wrong place  (Primary is mandatory and secondary is not)

代码如下: -

var controle1 =" N";
var controle2 =" N";

函数onSuccess(){

  // alert("in sucess");

    //提醒('项目已创建:100'  + newItem.get_id());

    ItemID = newItem.get_id();

    var elementId1 = $(&#; PERSONAL0id")。val();

    var elementId2 = $(&#; PERSONAL1id")。val();

    if(elementId1!="")

    {

    controle1 =" Y";
    }
    if(elementId2!="")

    {

    controle2 =" Y";
    }
    if(controle1 ==" Y")

    {

    var Control =" P";
      var Flag1 =" 1"; $
    uploadMFBySearch(ItemID,Control,Flag1);

    }
    if(controle2 ==" Y")

    {

    var Control =" S";
      var Flag1 =" 2"; $
      if(document.getElementById(" PERSONALSid")。files.length> 0){

    uploadMFBySearch(ItemID,Control,Flag1);

    }
    }

var controle1="N";
var controle2="N";
function onSuccess(){
  // alert("in sucess");
   // alert('Item created: 100'  + newItem.get_id());
    ItemID=newItem.get_id();
    var elementId1=$("#PERSONAL0id").val();
    var elementId2=$("#PERSONAL1id").val();
    if(elementId1!="")
    {
    controle1="Y";
    }
    if(elementId2!="")
    {
    controle2="Y";
    }
    if(controle1=="Y")
    {
    var Control="P";
     var Flag1="1";
    uploadMFBySearch(ItemID,Control,Flag1);
    }
    if(controle2=="Y")
    {
    var Control="S";
     var Flag1="2";
     if(document.getElementById("PERSONALSid").files.length > 0){
    uploadMFBySearch(ItemID,Control,Flag1);
    }
    }

功能 uploadMFBySearch (ItemID,Control,Flag1){



//调试器;

// alert(ItemID);

    var serverRelativeUrlToFolder ='docLibrary /';

    var fileInput = jQuery('#PERSONAL'+ Control +'id');

    var newName =" mulDoc";

    var docType =" muldocument";

    var filerename =" muldocument";                 

    var fileCount = fileInput [0] .files.length;

    var serverUrl = _spPageContextInfo.webAbsoluteUrl;

    var filesUploaded = 0;

  &NBSP; for(var i = 0; i< fileCount; i ++){//使用jQuery promises启动方法调用。 //将本地文件作为数组缓冲区获取。

  &NBSP; &NBSP; &NBSP;   var getFile = getFileBufferMF(i);

  &NBSP; &NBSP; &NBSP;   getFile.done(function(arrayBuffer,i){//将文件添加到SharePoint文件夹。

   ;&NBSP;&NBSP;&NBSP;&NBSP; VAR addFile = addFileToFolderMF(arrayBuffer,I,项ID);

&NBSP;&NBSP;&NBSP ;    addFile.done(function(file,status,xhr){//获取上传文件的ID // mFclear();

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; VAR getfileID =的getItem(file.d.ListItemAllFields .__ deferred.uri); // VAR getfileID =的getItem(file.d) ; //getListItem(file.d.ListItemAllFields .__deferred.uri); // getItem(file.d);

  ;        getfileID.done(function(fResult){

            var colObjectMF = new Object();

&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; colObjectMF [" DocumentCategory"] ="哟英寸; //变种changeItem = updateFileMetadataMF(库名称,fResult.d,colObject);

&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; var changeItem = updateFileMetadataMF(fResult.d .__ metadata,docType,newName,filerename,i,fileInput,ItemID,Control,Flag1);

&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;   // alert(newName);

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; changeItem.done(function(result){

           ;    filesUploaded ++;

          ;    // alert(" HI");

      ;         var ReqFormat = 100000;

var NewReqNo = ReqFormat + ItemID;

     ;         if(fileCount == filesUploaded){

  ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; //警报("上传成功的所有文件完全");

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; filesUploaded = 0;

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;   if(document.getElementById(" PERSONALSid")。files.length == 0){

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; SavePeople();

$('#pageLoader' ).hide();

alert("您的请求已成功提交!请求否:" + NewReqNo);
  


  window.location.href =" https://ABC.com/sites/MyPortal.aspx" ;;

 

&NBSP;  }

    else { 

  &NBSP;
// alert("Save Save People"+ DepartmentNew);






SavePeople();

   
// alert(Flag1);


   
$('#pageLoader')。hide();


   
if(Flag1 ==" 2"){


   
  alert("您的请求已成功提交!请求否:"+ NewReqNo);


   
window.location.href =" https://ABC.com/sites/MyPortal.aspx" ;;


   
}


&NBSP;  
}






  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;   

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  }

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  });

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; changeItem.fail(function(result){

           ;    $('#pageLoader')。hide();

     ;      
alert("提交请求时发生错误。);


          });

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; },function(){});

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; });

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; addFile.fail(onErrorMF);

  &NBSP; &NBSP; &NBSP; });

  &NBSP; &NBSP; &NBSP; getFile.fail(onErrorMF);

  &NBSP; }









  //此功能将返回上传项目的ID。  

  &NBSP; function getItem(fileListItemUri){

  &NBSP; &NBSP; &NBSP; return jQuery.ajax({

       url:fileListItemUri,

       type:" GET",

       headers:{" accept":" application / json; odata = verbose"}

    });

&NBSP; &NBSP; &NBSP;  }









  &NBSP; function getFileBufferMF(i){//将本地文件作为数组缓冲区。

  &NBSP; &NBSP; &NBSP; var deferred = jQuery.Deferred();

  &NBSP; &NBSP; &NBSP; var reader = new FileReader();

  &NBSP; &NBSP; &NBSP; reader.onloadend = function(e){deferred.resolve(e.target.result,i);}

  &NBSP; &NBSP; &NBSP; reader.onerror = function(e){deferred.reject(e.target.error);}

  &NBSP; &NBSP; &NBSP; reader.readAsArrayBuffer(fileInput [0] .files [i]);

  &NBSP; &NBSP; &NBSP; return deferred.promise();

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }









  &NBSP; function addFileToFolderMF(arrayBuffer,i,ItemID){//将文件添加到共享文档文件夹中的文件集合。

  ; &NBSP; &NBSP; &NBSP; var index = i;

  &NBSP; &NBSP;  
    fileNameMF1 = fileInput [0] .files [index] .name;


  &NBSP; &NBSP;  
    var ReqFormat = 100000;


  &NBSP; &NBSP;  
  fileNameMF2 = ReqFormat + ItemID + fileNameMF1;


  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; VAR fileCollectionEndpoint =的String.format(QUOT; {0} / _ AP​​I /网络/ getfolderbyserverrelativeurl( '{1}')/文件/添加(覆盖=真,则url = '{2}')",的serverUrl,serverRelativeUrlToFolder,fileNameMF2 );

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; return jQuery.ajax({

       url:fileCollectionEndpoint,

       type:" POST",

       data:arrayBuffer,

       // async:false,

    ;    processData:false,

       headers:{

        " accept":" application / json ; odata = verbose",

        " X- RequestDigest":jQuery(" #__ REQUESTDIGEST") .val(),

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " content-length" ;: arrayBuffer.byteLength

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; });

  &NBSP; &NBSP;   

  &NBSP; }

}





函数onErrorMF (错误){

  &NBSP; console.log(" mf:" + error.responseText);

  &NBSP; //ale(" mf:" + error.responseText);

}





function updateFileMetadataMF( item,docType,newName,filerename,i,fileInput,ItemID,Control){





  &NBSP; var ReqFormat = 100000;

  &NBSP; ItemID1 = ReqFormat + ItemID;

  &NBSP; &NBSP; &NBSP; var body = String.format(" {{'__ metadata':{{'type':'{0}'}},'Title':'{1}','DocumentType':'{2}'}} ",item.type,ItemID1,Control);

  &NBSP; &NBSP; &NBSP; return jQuery.ajax({

       url:item.uri,

       type:" POST",

       // async:false,

       data:body,

    ;    标题:{

        &NBSP;英寸×-RequestDigest" ;: jQuery的(QUOT; #__ REQUESTDIGEST")VAL(),

。&NBSP;&NBSP;       " content-type":" application / json; odata = verbose",

        " content -length":body.length,

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; "IF-MATCH":item.etag,

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " X-HTTP-Method":" MERGE"


&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; });

  &NBSP; &NBSP; &NBSP;   return dfd.promise();





  &NBSP; }

function uploadMFBySearch(ItemID,Control,Flag1) {

//debugger;
//alert(ItemID);
    var serverRelativeUrlToFolder = 'docLibrary/';
    var fileInput = jQuery('#PERSONAL'+Control+'id');
    var newName ="mulDoc";
    var docType="muldocument";
    var filerename="muldocument";                 
    var fileCount = fileInput[0].files.length;
    var serverUrl = _spPageContextInfo.webAbsoluteUrl;
    var filesUploaded = 0;
    for (var i = 0; i < fileCount; i++) {// Initiate method calls using jQuery promises. // Get the local file as an array buffer.
         var getFile = getFileBufferMF(i);
         getFile.done(function (arrayBuffer, i) { // Add the file to the SharePoint folder.
            var addFile = addFileToFolderMF(arrayBuffer, i,ItemID);
            addFile.done(function (file, status, xhr) {//Get ID of File uploaded //mFclear();
                var getfileID =getItem(file.d.ListItemAllFields.__deferred.uri);//var getfileID =getItem(file.d); //getListItem(file.d.ListItemAllFields.__deferred.uri);//getItem(file.d);
                getfileID.done(function (fResult) {
                    var colObjectMF = new Object();
                    colObjectMF["DocumentCategory"] = "yo";//var changeItem = updateFileMetadataMF(libraryName, fResult.d, colObject);
                    var changeItem = updateFileMetadataMF(fResult.d.__metadata,docType,newName,filerename,i,fileInput,ItemID,Control,Flag1);
                   // alert(newName);
                    changeItem.done(function (result) {
                        filesUploaded++;
                        //alert("HI");
                         var ReqFormat=100000;
var NewReqNo=ReqFormat+ItemID;
                        if (fileCount == filesUploaded) {
                                        //alert("All files uploaded successfully");
                                        filesUploaded = 0;
                                           if( document.getElementById("PERSONALSid").files.length == 0){
                                           
                                            SavePeople();
$('#pageLoader').hide();
alert("Your request has been successfully submitted! Request No:"+NewReqNo);   
  window.location.href = "https://ABC.com/sites/MyPortal.aspx";
 
   }
   else { 
    //alert("Before Save People"+DepartmentNew);


SavePeople();
    //alert(Flag1);
    $('#pageLoader').hide();
    if(Flag1=="2"){
      alert("Your request has been successfully submitted! Request No:"+NewReqNo);
    window.location.href = "https://ABC.com/sites/MyPortal.aspx";
    }
    }


                                        
                         }
                     });
                    changeItem.fail(function (result) {
                        $('#pageLoader').hide();
                    alert("An error has occured while submitting request.");
                    });
                }, function () { });
            });
            addFile.fail(onErrorMF);
        });
        getFile.fail(onErrorMF);
    }




  //This function will return the id of item uploaded.  
    function getItem(fileListItemUri) {
        return jQuery.ajax({
            url: fileListItemUri,
            type: "GET",
            headers: { "accept": "application/json;odata=verbose" }
        });
       }




    function getFileBufferMF(i) {// Get the local file as an array buffer.
        var deferred = jQuery.Deferred();
        var reader = new FileReader();
        reader.onloadend = function (e) {deferred.resolve(e.target.result, i);}
        reader.onerror = function (e) {deferred.reject(e.target.error);}
        reader.readAsArrayBuffer(fileInput[0].files[i]);
        return deferred.promise();
                                }




    function addFileToFolderMF(arrayBuffer, i,ItemID) { // Add the file to the file collection in the Shared Documents folder.
        var index = i;
           fileNameMF1 = fileInput[0].files[index].name;
           var ReqFormat=100000;
          fileNameMF2=ReqFormat+ItemID+fileNameMF1;
            var fileCollectionEndpoint = String.format("{0}/_api/web/getfolderbyserverrelativeurl('{1}')/files/add(overwrite=true, url='{2}')",serverUrl, serverRelativeUrlToFolder, fileNameMF2);
            return jQuery.ajax({
            url: fileCollectionEndpoint,
            type: "POST",
            data: arrayBuffer,
            //async:false,
            processData: false,
            headers: {
                "accept": "application/json;odata=verbose",
                "X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
                "content-length": arrayBuffer.byteLength
            }
        });
        
    }
}


function onErrorMF(error) {
    console.log("mf:"+error.responseText);
    //alert("mf:"+error.responseText);
}


function updateFileMetadataMF(item,docType,newName,filerename,i,fileInput,ItemID,Control) {


    var ReqFormat=100000;
    ItemID1=ReqFormat+ItemID;
        var body = String.format("{{'__metadata':{{'type':'{0}'}},'Title':'{1}','DocumentType':'{2}'}}",item.type,ItemID1,Control);
        return jQuery.ajax({
            url: item.uri,
            type: "POST",
            //async:false,
            data: body,
            headers: {
                "X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
                "content-type": "application/json;odata=verbose",
                "content-length": body.length,
                "IF-MATCH": item.etag,
                "X-HTTP-Method": "MERGE"
            }
        });
         return dfd.promise();


    }

---------------------- ----- Attchment control -----------------------------



 < div class =" col -md-2">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < label for =" countries">辅助文档:< / label>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < / div>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < div class =" col-md-3 files" id =" attachFilesHolder2">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; <! - < input id =" file_input"类型= QUOT;文件" name =" files []"> - >

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < input type =" file" ID = QUOT; PERSONALSid"&NBSP;类= QUOT; filestyle"数据图标= QUOT;" multiple ="multiple">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < / div>


 <div class="col-md-2">
                        <label for="countries">Secondary documents:</label>
                    </div>
                    <div class="col-md-3 files" id="attachFilesHolder2">
                        <!--<input id="file_input" type="file" name="files[]">-->
                        <input type="file" id="PERSONALSid"  class="filestyle" data-icon="" multiple="multiple">
                    </div>

Shiv Sharma

Shiv Sharma

推荐答案

Hello SharePoint,

Hello SharePoint,

您是否尝试过隐身模式?由于某些缓存或浏览器功能,可能会发生此错误。

Have you tried in incognito mode? Due to some caching or browsers functionality, this error may happen.

如果在隐身模式下也发生同样的错误,请尝试使用其他浏览器。

If the same error is happening in incognito mode as well, try another browser.

希望能解决你的目的。 

Hope that will solve your purpose. 


这篇关于文件未成功上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆