欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP傳輸base64數(shù)據(jù)不完整的解決方法

 更新時(shí)間:2024年05月29日 10:02:16   作者:德宏大魔王  
最近在做OCR增值稅務(wù)處理時(shí),接口是通過(guò)圖片轉(zhuǎn)base64提交處理然后返回?cái)?shù)據(jù)的,通過(guò)在線工具進(jìn)行測(cè)試,發(fā)現(xiàn)傳遞過(guò)去的數(shù)據(jù)可以使用,接收到的數(shù)據(jù)卻提示損壞,所以本文給大家介紹了PHP傳輸base64數(shù)據(jù)不完整的解決方法,需要的朋友可以參考下

前言

最近在做OCR增值稅務(wù)處理時(shí),接口是通過(guò)圖片轉(zhuǎn)base64提交處理然后返回?cái)?shù)據(jù)的,我通過(guò)前端將圖片轉(zhuǎn)換為base64提交到后端接收時(shí),通過(guò)在線工具進(jìn)行測(cè)試,發(fā)現(xiàn)傳遞過(guò)去的數(shù)據(jù)可以使用,接收到的數(shù)據(jù)卻提示損壞

解決辦法

<?php
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *'); // 允許任何網(wǎng)址請(qǐng)求
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE'); // 允許請(qǐng)求的類型
header('Access-Control-Allow-Credentials: true'); // 設(shè)置是否允許發(fā)送 cookies
header('Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-with, Origin'); // 設(shè)置允許自定義請(qǐng)求頭的字段


// 接收POST數(shù)據(jù)

$base64=$_POST['base'];

替換為以下代碼:

<?php
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *'); // 允許任何網(wǎng)址請(qǐng)求
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE'); // 允許請(qǐng)求的類型
header('Access-Control-Allow-Credentials: true'); // 設(shè)置是否允許發(fā)送 cookies
header('Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding, X-Requested-with, Origin'); // 設(shè)置允許自定義請(qǐng)求頭的字段


// 接收POST數(shù)據(jù)
$postData = file_get_contents('php://input');
$base64=urldecode($postData);
$new_base64 = substr($base64, 27); 

即可解決

拓展知識(shí)

BASE64解碼后的圖片顯示不完整問(wèn)題

BASE64解碼后的圖片顯示不完整

從前端獲取base64信息就后用以下代碼進(jìn)行處理,發(fā)現(xiàn)解析出來(lái)的圖片會(huì)損壞。

StringBuffer filePathStr=new StringBuffer();
			for(int i=0;i<fileList.size();i++){
				JSONObject fileObj = fileList.getJSONObject(i);
				if(null!=fileObj){
					String fileContent=fileObj.getString("FileContent");
					String fileName=fileObj.getString("FileName");
					//Base64解碼  
					byte[] bytes=Base64.decodeBase64(fileContent);
					  for (int j = 0; j < bytes.length; ++j) {  
					        if (bytes[j] < 0) {// 調(diào)整異常數(shù)據(jù)  
					        	bytes[j] += 256;  
					        }  
					  }

導(dǎo)致?lián)p壞可能為以下原因

一:需要去掉如下頭部信息。

二:

因?yàn)閍jax在傳輸過(guò)程中加號(hào)會(huì)變成空格而base64里是有加號(hào)的,所以在ajax傳輸前先要對(duì)base64進(jìn)行編碼,把加號(hào)替換成%2B的url編碼。
var img = imageData.replace(/+/g,"%2B");
imageData就是原始的base64碼

以上就是PHP傳輸base64數(shù)據(jù)不完整的解決方法的詳細(xì)內(nèi)容,更多關(guān)于PHP base64數(shù)據(jù)不完整的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • php 全文搜索和替換的實(shí)現(xiàn)代碼

    php 全文搜索和替換的實(shí)現(xiàn)代碼

    方便替換和全文索引
    2008-07-07
  • PHP讀取和寫入CSV文件的示例代碼

    PHP讀取和寫入CSV文件的示例代碼

    CSV(逗號(hào)分隔值)文件是使用逗號(hào)分隔信息的文本文件。該文件的每一行都是一條數(shù)據(jù)記錄,也就意味著它可以用于以表格的形式展現(xiàn)信息。本文主要介紹了PHP讀取和寫入CSV文件的方法,需要的可以參考一下
    2023-04-04
  • 深入理解PHP之require/include順序 推薦

    深入理解PHP之require/include順序 推薦

    在大型的Web項(xiàng)目中, include_path是一個(gè)模塊化設(shè)計(jì)的根本中的根本(當(dāng)然,現(xiàn)在也有很多基于autoload的設(shè)計(jì), 這個(gè)不影響本文的探討), 但是正是因?yàn)閕nclude_path, 經(jīng)常會(huì)讓我們遇到一些因?yàn)闆](méi)有找到正確的文件而導(dǎo)致的看似”詭異”的問(wèn)題.
    2011-01-01
  • 深入解析phpCB批量轉(zhuǎn)換的代碼示例

    深入解析phpCB批量轉(zhuǎn)換的代碼示例

    本篇文章是對(duì)phpCB批量轉(zhuǎn)換的代碼示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php動(dòng)態(tài)生成版權(quán)所有信息的方法

    php動(dòng)態(tài)生成版權(quán)所有信息的方法

    這篇文章主要介紹了php動(dòng)態(tài)生成版權(quán)所有信息的方法,實(shí)例分析了php時(shí)間與字符串的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • php簡(jiǎn)單實(shí)現(xiàn)無(wú)限分類樹(shù)形列表的方法

    php簡(jiǎn)單實(shí)現(xiàn)無(wú)限分類樹(shù)形列表的方法

    這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)無(wú)限分類樹(shù)形列表的方法,實(shí)例分析了php通過(guò)數(shù)組實(shí)現(xiàn)樹(shù)形列表的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • PHP緩存工具XCache安裝與使用方法詳解

    PHP緩存工具XCache安裝與使用方法詳解

    這篇文章主要介紹了PHP緩存工具XCache安裝與使用方法,較為詳細(xì)的分析了緩存工具XCache在Windows及Linux平臺(tái)安裝與Xcache操作封裝類實(shí)例,需要的朋友可以參考下
    2018-04-04
  • 淺談ThinkPHP中initialize和construct的區(qū)別

    淺談ThinkPHP中initialize和construct的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談ThinkPHP中initialize和construct的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • php反彈shell實(shí)現(xiàn)代碼

    php反彈shell實(shí)現(xiàn)代碼

    遇到一個(gè)BT的網(wǎng)站,上傳php文件成功之后,每訪問(wèn)一次,文件名就會(huì)隨機(jī)改變一次,并且你訪問(wèn)當(dāng)前文件如果點(diǎn)其他操作項(xiàng),文件仍然會(huì)改名。
    2009-04-04
  • 一文詳解php中.env實(shí)現(xiàn)原理

    一文詳解php中.env實(shí)現(xiàn)原理

    在PHP中,.env文件是一種常見(jiàn)的配置文件格式,用于存儲(chǔ)應(yīng)用程序的環(huán)境變量,本文將給大家大家詳細(xì)的介紹一下php中.env實(shí)現(xiàn)原理,文中給出了簡(jiǎn)單的示例代碼,需要的朋友可以參考下
    2024-01-01

最新評(píng)論