diff --git a/ShadowEditor.Web/src/component/SceneComponent.js b/ShadowEditor.Web/src/component/SceneComponent.js index 9b078a0d..5279457a 100644 --- a/ShadowEditor.Web/src/component/SceneComponent.js +++ b/ShadowEditor.Web/src/component/SceneComponent.js @@ -1,4 +1,5 @@ import BaseComponent from './BaseComponent'; +import Converter from '../utils/Converter'; import Ajax from '../utils/Ajax'; /** @@ -415,12 +416,27 @@ SceneComponent.prototype.onSaveCubeTexture = function () { // 保存立体贴图 return; } - // Ajax.post(`${this.app.options.server}/`) + var promises = [ + Converter.dataURLtoFile(texturePosX.image.src, 'posX'), + Converter.dataURLtoFile(textureNegX.image.src, 'negX'), + Converter.dataURLtoFile(texturePosY.image.src, 'posY'), + Converter.dataURLtoFile(textureNegY.image.src, 'negY'), + Converter.dataURLtoFile(texturePosZ.image.src, 'posZ'), + Converter.dataURLtoFile(textureNegZ.image.src, 'negZ'), + ]; - // var data = { - // posX: texturePosX.image.src, - // posY: texturePosY. - // }; + Promise.all(promises).then(files => { + Ajax.post(`${this.app.options.server}/api/Texture/Add`, { + posX: files[0], + negX: files[1], + posY: files[2], + negY: files[3], + posZ: files[4], + negZ: files[5], + }, result => { + debugger + }); + }); }; SceneComponent.prototype.onChangeFogType = function () { // 切换雾类型 diff --git a/ShadowEditor.Web/src/utils/Ajax.js b/ShadowEditor.Web/src/utils/Ajax.js index d6b7f816..5004c71e 100644 --- a/ShadowEditor.Web/src/utils/Ajax.js +++ b/ShadowEditor.Web/src/utils/Ajax.js @@ -18,20 +18,29 @@ function ajax(params) { } } - var body; + var formData; if (data) { - var bodies = []; + var hasFile = false; + + formData = new FormData(); + for (var name in data) { - bodies.push(name + '=' + encodeURIComponent(data[name])); + if (data[name] instanceof Blob) { + hasFile = true; + formData.append(name, data[name], data[name].name); + } else { + formData.append(name, encodeURIComponent(data[name])); + } } - body = bodies.join('&'); - if (body.length) { - xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + if (hasFile) { + xhr.setRequestHeader('Content-type', 'application/multipart/form-data'); + } else { + xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); } } - xhr.send(body); + xhr.send(formData); } /**