gpt4 book ai didi

javascript - 如何使用ajax将STL文件从js发送到没有表单数据的php

转载 作者:行者123 更新时间:2023-12-03 01:47:18 26 4
gpt4 key购买 nike

用户在js中导入.STL文件,该文件必须保存到数据库或服务器文件夹中。使用javascript,我们从js导入文件,但由于我们无法将其保存在我们的服务器中,所以我使用ajax将文件从js发送到php。这样我们就可以从 php 将其保存在我们的文件夹中。

下面是正在获取文件的代码,但该文件不会发送到 php。请帮助我如何将 STL 文件从 js 发送到 php

Stage.prototype.handleFile = function(file) {
this.importingMeshName = file.name;
this.importEnabled = false;

var model = new Model(
this.scene,
this.camera,
this.container,
this.printout,
this.infoBox,
this.progressBarContainer
);

model.isLittleEndian = this.isLittleEndian;
model.vertexPrecision = this.vertexPrecision;
model.import(file, this.displayMesh.bind(this));

var form_data = new FormData();
form_data.append("file", document.getElementById('file').files[0]);
jQuery.ajax
({


url: 'saveinjs.php',
type: "POST",
data: {user:1, postdata:form_data},
contentType: false,
cache: false,
processData: false,

success:function(data)
{
$('#uploaded_image').html(data);
alert(data);
console.log(data);
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}

});
};

这是获取文件并保存在我们的文件夹中的 php 代码

<?php

if(isset($_POST['user'])){
echo '123';


if($_POST["file"]["name"] != '')
{
$sourcePath = $_FILES['file']['tmp_name']; // Storing source path of the file in a variable
$targetPath = "upload/".$_FILES['file']['name']; // Target path where file is to be stored
move_uploaded_file($sourcePath,$targetPath) ;
}
}
?>

最佳答案

您可以使用 javascript File api 读取 base64 格式的内容。然后在您的后端代码中,您可以解密以获取实际内容。下面是处理文件的前端代码

function handleFile(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
console.log(reader.result);
var data = {data: reader.result};
// You can post data object to server in json format
// Make Ajax request
};
reader.onerror = function (error) {
console.log('Error: ', error);
// Handle error
};
}

var file = document.getElementById('file').files[0];
handleFile(file);

并在 php 中使用 base64_decode 函数,您可以解码 base64 字符串,http://php.net/manual/en/function.base64-decode.php

关于javascript - 如何使用ajax将STL文件从js发送到没有表单数据的php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50580855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com