Anonymous
Когда я вставляю какие-либо данные, выдает ошибку 302.
Сообщение
Anonymous » 15 ноя 2025, 21:35
Я хочу вставить свой блокнот для подписи. Я взял ссылку из
https://codepen.io/BigLeeBrink/pen/ZdvLLE
Ниже приведен код моего контроллера:
Код: Выделить всё
public function actionSignaturesave()
{
if (Yii::$app->request->post('case_id') != '') {
$case_id = Yii::$app->request->post('case_id', '');
$signatureData = Yii::$app->request->post('signature_image');
if($signatureData != "")
{
$signatureData = 'data:image/png;base64,'.$signatureData;
$filePath = Yii::$app->params['uploadpath'].'casesignature'.'/'. $model->case_id.'.png';
file_put_contents($filePath, file_get_contents($signatureData));
$urlatt = Yii::$app->urlManagerApi->createAbsoluteUrl('common/addmedia');
$newthumb = 0;
$tempname = $filePath;
$filetype = $this->commonModel->getFileTypeWithExtension($tempname);
$allowExtenssion = ["jpg","jpeg","png","gif","JPG","JPEG","PNG","GIF"];
if (in_array($filetype['extension'], $allowExtenssion) || count($allowExtenssion) == 0) {
$paramsatt = array(
"unitId" => @Yii::$app->session->get('user.unitId'),
"Title" => 'Signature Attachment Image',
"extension" => $filetype['extension'],
"ref_table" => 118,
"ref_id" => $model->case_id,
"file_type" => $filetype['type'],
"link" => "",
"isthumb" => $newthumb,
"is_external_link" => 0,
);
$resp = $this->commonModel->callApi($urlatt, $paramsatt, $tempname);
}
}
return $this->redirect('casedetail');
} else {
echo $this->functionModel->_jsonencode(['Status' => 500, 'Message' => \Yii::t('frontend', "something_went_wrong")]);
}
}
Здесь я сделал один скрытый ввод, когда я нажимаю «Отправить», он показывает мне мой URL-адрес basecode64 в значении скрытого типа ввода.
Код модели:
Код: Выделить всё
[list]
[*]
Save
Clear
[/list]
$this->registerJs("
jQuery(document).ready(function($){
var canvas = document.getElementById('signature');
var signaturePad = new SignaturePad(canvas);
$('#save-signature').on('click', function(e){
e.preventDefault();
var Sigimage=signaturePad.toDataURL();
// console.log(Sigimage);
document.getElementsByName('signature_image')[0].setAttribute('value', Sigimage);
signaturePad.clear();
});
$('#clear-signature').on('click', function(e){
e.preventDefault();
signaturePad.clear();
});
});
$(document).on('click', '#save-signature', function(){
var params = new Object();
params.case_id = '" . $model->case_id . "';
params.image = document.getElementsByName('signature_image').value;
$.ajax({
type : 'POST',
url : '" . Yii::$app->urlManager->createUrl('case/signaturesave') . "',
data : params,
success : function(data) {
data = JSON.parse(data);
if(data.Status != 200)
{
iplus.alert(data.Message);
return false;
}
}
});
return false;
});
");
Подробнее здесь:
https://stackoverflow.com/questions/746 ... -302-error
1763231742
Anonymous
Я хочу вставить свой блокнот для подписи. Я взял ссылку из https://codepen.io/BigLeeBrink/pen/ZdvLLE Ниже приведен код моего контроллера: [code] public function actionSignaturesave() { if (Yii::$app->request->post('case_id') != '') { $case_id = Yii::$app->request->post('case_id', ''); $signatureData = Yii::$app->request->post('signature_image'); if($signatureData != "") { $signatureData = 'data:image/png;base64,'.$signatureData; $filePath = Yii::$app->params['uploadpath'].'casesignature'.'/'. $model->case_id.'.png'; file_put_contents($filePath, file_get_contents($signatureData)); $urlatt = Yii::$app->urlManagerApi->createAbsoluteUrl('common/addmedia'); $newthumb = 0; $tempname = $filePath; $filetype = $this->commonModel->getFileTypeWithExtension($tempname); $allowExtenssion = ["jpg","jpeg","png","gif","JPG","JPEG","PNG","GIF"]; if (in_array($filetype['extension'], $allowExtenssion) || count($allowExtenssion) == 0) { $paramsatt = array( "unitId" => @Yii::$app->session->get('user.unitId'), "Title" => 'Signature Attachment Image', "extension" => $filetype['extension'], "ref_table" => 118, "ref_id" => $model->case_id, "file_type" => $filetype['type'], "link" => "", "isthumb" => $newthumb, "is_external_link" => 0, ); $resp = $this->commonModel->callApi($urlatt, $paramsatt, $tempname); } } return $this->redirect('casedetail'); } else { echo $this->functionModel->_jsonencode(['Status' => 500, 'Message' => \Yii::t('frontend', "something_went_wrong")]); } } [/code] Здесь я сделал один скрытый ввод, когда я нажимаю «Отправить», он показывает мне мой URL-адрес basecode64 в значении скрытого типа ввода. Код модели: [code] [list] [*] Save Clear [/list] $this->registerJs(" jQuery(document).ready(function($){ var canvas = document.getElementById('signature'); var signaturePad = new SignaturePad(canvas); $('#save-signature').on('click', function(e){ e.preventDefault(); var Sigimage=signaturePad.toDataURL(); // console.log(Sigimage); document.getElementsByName('signature_image')[0].setAttribute('value', Sigimage); signaturePad.clear(); }); $('#clear-signature').on('click', function(e){ e.preventDefault(); signaturePad.clear(); }); }); $(document).on('click', '#save-signature', function(){ var params = new Object(); params.case_id = '" . $model->case_id . "'; params.image = document.getElementsByName('signature_image').value; $.ajax({ type : 'POST', url : '" . Yii::$app->urlManager->createUrl('case/signaturesave') . "', data : params, success : function(data) { data = JSON.parse(data); if(data.Status != 200) { iplus.alert(data.Message); return false; } } }); return false; }); "); [/code] [img]https://i.sstatic.net/4Upgr.png[/img] Подробнее здесь: [url]https://stackoverflow.com/questions/74613980/when-im-insert-any-data-it-gives-me-a-302-error[/url]