使用UploadCollection在sapui5中使用ajax上传文件会发送损坏的文件吗?

时间:2018-11-15 14:08:05

标签: javascript ajax sapui5

我试图通过ajax使用UploadCollection以便通过发布请求发送文件,但是由于某种原因,文件已被上传,但是永远无法打开o可视化,因为文件似乎在后端坏了(SAP网关)。

这是我使用UploadCollection获取文件的方式

                new sap.m.UploadCollection({
                    id:                        'upFiles',
                    numberOfAttachmentsText:   'Adjuntar archivos',
                    showSeparators:            'All',
                    fileType:                  ['jpg','jpeg','png','pdf','ods','pptx','xlsm','docx','doc', 'odt', 'docm','ppt','xlsx','rar','zip'], 
                    noDataText:                'No se han cargado archivos todavia',
                    class:                     'docpago-upload',
                    uploadUrl:                 '/sap/opu/odata/SAP/ZGWRE_WF_FILES_SRV/WfFileCollectionSet',
                    maximumFilenameLength:     120,
                    maximumFileSize:           10,
                    multiple:                  true,
                    uploadEnabled:             true,
                    terminationEnabled:        true,
                    change: function(oEvent) {

                        var file = oEvent.getParameter("files");
                        var numfiles = oEvent.getParameter("files").length;

                        if(numfiles > 10){
                            MessageBox.show("Máximo de cargas multiples permitido es de 10");
                            oEvent.setCancelBubble(true);
                            oEvent.cancelBubble(); // para detener el proceso...
                        }else{

                            subeArchivos = true; 

                            $.each(file, function(i, val) {

                                console.log(val);

                                fixname = val.name;
                                filename = fixname.substring(0, fixname.indexOf("."));
                                extension = fixname.substring(fixname.indexOf(".") + 1);

                                //console.log('nombre archivo: ' + filename)
                                //console.log('extension archivo: ' + extension)

                                var obj = {
                                    'filename': filename,
                                    'extension': extension
                                };

                                files.push(obj);

                            });

                        }                           
                    }
                });

这是Iam尝试使用Ajax发送这些文件的方式

                                                    jQuery.ajax({
                                                        url: sUrlUpload,
                                                        type: "POST",
                                                        data: file, //Files I want to upload
                                                        contentType: "application/json",
                                                        datatype : "text",
                                                        headers: {
                                                            'X-CSRF-Token': token, //token generated to send request
                                                            'slug': slug  //a parameter I need to do some stuff
                                                        },
                                                        success: function (data, textStatus, XMLHttpRequest) {
                                                            console.log('Uploaded files: ' + JSON.stringify(data));


                                                        },
                                                        error: function(oError) {
                                                            console.log('Error: ' + JSON.stringify(oError.responseText))
                                                        }
                                                    });

由于某种原因,在sap网关端,文件成功上传,但由于程序显示“格式无效”,“文件损坏”等原因,甚至无法打开单个文件。

我不确定什么?我被要求通过ajax并以xstring格式一次发送文件。但我不确定如何获取每个文件的xstring

0 个答案:

没有答案