4
I’m trying to adapt a script I have to upload with Bootstrap Dialog but I’m not succeeding, I wish I could use the same form that I already do some operations to maintain the development pattern, I made a modification in the code to try to solve the problem and it was like this:
// INSERÇÃO DE DADOS - UPLOAD
function DlgInserirUpload() {
var params = {
Operacao: 'Upload',
sObservacao: $('#sObservacao').val(),
IdContrato: $("input[name=IdContrato]").val(),
type: 'POST',
arquivo: $("#arquivo").val(),
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
};
GravaFase(params);
}
// ONDE RESGATO AS VARIÁVEIS DO MEU FORMULÁRIO
// PROCESSO INTEGRADO - INSERÇÃO, ALTERAÇÃO E DELEÇÃO
function GravaFase(params) {
console.log(params);
$.post(
'pProcessoFase.php',
params,
function( json, textStatus, jQxhr ){
if (json.status != "ERRO") {
var dialogInstance = BootstrapDialog.show({
title: 'SUCESSO',
type: BootstrapDialog.TYPE_SUCCESS,
message: json.msg,
closable: false,
buttons: [
{
label: 'Fechar',
cssClass: 'btn-success',
action: function(dialogRef){
dialogRef.close();
// location.reload();
var IdContrato = json.par;
// console.log(aba);
// console.log(IdContrato);
$("#resultado-fase").load('pListaFaseContrato.php',{IdContrato:IdContrato});
// LIMPANDO CAMPOS DO FORMULÁRIO
$("#IdTipoFase").val(0);
$("#dData").val("");
$("#dHora").val("");
$("#sDescricao").val("");
$("#resultado-upload").load('pListaUpload.php',{IdContrato:IdContrato});
// LIMPANDO CAMPOS DO FORMULÁRIO
$("#sObservacao").val(0);
$("#arquivo").val("");
$("#resultado-obrigatoria").load('pListaFaseObrigatoria.php',{IdContrato:IdContrato});
// LIMPANDO CAMPOS DO FORMULÁRIO
$("#IdTipoFase1").val(0);
$("#iOrdem").val(0);
}
}
]
});
} else {
var dialogInstance = BootstrapDialog.show({
title: 'ERRO',
type: BootstrapDialog.TYPE_DANGER,
message: json.msg,
closable: false,
buttons: [
{
label: 'Fechar',
cssClass: 'btn-danger',
action: function(dialogRef){
dialogRef.close();
}
}
]
});
}
},
'json'
)
.fail(function( jqXhr, textStatus, errorThrown ){
try {
var json = $.parseJSON(jqXHR.responseText);
var dialogInstance = BootstrapDialog.show({
title: 'ERRO',
type: BootstrapDialog.TYPE_DANGER,
message: json.msg
});
} catch(e) {
var dialogInstance = BootstrapDialog.show({
title: 'ERRO',
type: BootstrapDialog.TYPE_DANGER,
message: json.msg
});
}
});
}
In my console appears this result:
IdContrato: "34"
Operacao: "Upload"
arquivo: "C:\fakepath\Chrysanthemum.jpg"
cache: false
contentType: false
mimeType: "multipart/form-data"
processData: false
sObservacao: "swewewew"
type: "POST"
""""
And on the server side I try to rescue like this:
// DIRETÓRIO
$diretorio = 'upload/';
if (!empty($_FILES)) {
$ArquivoTemporario = $_FILES['arquivo']['tmp_name'];
$NomeArquivo = $_FILES['arquivo']['name'];
$CaminhoAnexo = dirname(__FILE__) . '/' . $diretorio;
$targetFile = rtrim($CaminhoAnexo,'/') . '/' . $_FILES['arquivo']['name'];
$TipoArquivo = strtolower(pathinfo($NomeArquivo, PATHINFO_EXTENSION));
$Caminho = $diretorio;
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png','pdf','doc','docx','xls','xlsx'); // File extensions
$fileParts = pathinfo($_FILES['arquivo']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($ArquivoTemporario,$targetFile);
} else {
$aretorno["msg"] = "Ocorreu um erro na inclusão dos dados:";
$aretorno["status"] = "ERRO";
}
}
Any suggestions on what to do in this case? I read some things about formData but no attempt I made resulted in any success.
– adventistapr