Использование UploadCollection для загрузки файлов с помощью ajax в sapui5 отправлять испорченные файлы? - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь использовать UploadCollection с ajax для отправки файлов через почтовый запрос, но по какой-то причине файл загружен, но его невозможно открыть, чтобы визуализировать, так как файл кажется поврежденным в бэкэнде (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 каждого отдельного файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...