php base64 iphone 图片到网络服务
php base64 iphone picture to webservice
我需要你的帮助,但我还没有找到解决我的问题的答案。
我想在 iphone/ipad 上拍照(或从图库中拍照),然后使用 php 将照片编码为 base64 字符串,并将 base64 字符串发送到网络服务。
如果我在电脑上试一下,一切正常。
如果我想在 ipad 上执行此操作,似乎没有任何内容或不正确的 base64 字符串发送到网络服务,但我不知道为什么?!
picture.php
<form action="picture.php?action=upload" method="post" enctype="multipart/form-data">
<input type="file" name="datei" accept="capture=camcorder">
<br/><br/>
<input type="submit" value="up">
</form>
<?
if(isset($_GET['action']))
{
$tmp_name = $_FILES["datei"]["tmp_name"];
$name = $_FILES["datei"]["name"];
$name = substr($name,0,-4);
$name.="_".time().".jpg";
move_uploaded_file($tmp_name, "upload/".$name);
$content = file_get_contents ( "upload/".$name );
$imageBase = base64_encode( $content );
$success = savePicture($imageBase);
}
函数保存图片()
function savePicture($pic_base64)
{
ini_set("soap.wsdl_cache_enabled", "0");
$pageURL = 'http://....';
$page = new NTLMSoapClient($pageURL);
$params = array("pRecordID" => "1",
"pFieldID" => 70000,
"pUserID" => "153",
"pContent" => $pic_base64
);
$result = $page->SetBLOBValue($params);
if($result->return_value != "ERROR")
{
return true;
}
else
{
return false;
}
}
知道为什么这在 ipad/iphone 上不起作用吗?
我希望有人能帮助我。
我认为 iPhone/iPad 与 capture=camcorder
有一些问题。
请试试这个:
<input type="file" name="datei" accept="image/*;capture=camera">
而不是
<input type="file" name="datei" accept="capture=camcorder">
有关更多信息,请查看:
已解决
问题是 SOAP 服务的文件最大大小为 1MB!
这就是为什么我无法上传大于 1MB 的 Base64 字符串的问题!
现在我们将文件的最大大小增加到 10MB,现在可以使用了!
这就是为什么我不能上传一些图片的原因,因为有些图片在 base64 字符串中大于 1mb。
谢谢大家的帮助!
我需要你的帮助,但我还没有找到解决我的问题的答案。
我想在 iphone/ipad 上拍照(或从图库中拍照),然后使用 php 将照片编码为 base64 字符串,并将 base64 字符串发送到网络服务。
如果我在电脑上试一下,一切正常。 如果我想在 ipad 上执行此操作,似乎没有任何内容或不正确的 base64 字符串发送到网络服务,但我不知道为什么?!
picture.php
<form action="picture.php?action=upload" method="post" enctype="multipart/form-data">
<input type="file" name="datei" accept="capture=camcorder">
<br/><br/>
<input type="submit" value="up">
</form>
<?
if(isset($_GET['action']))
{
$tmp_name = $_FILES["datei"]["tmp_name"];
$name = $_FILES["datei"]["name"];
$name = substr($name,0,-4);
$name.="_".time().".jpg";
move_uploaded_file($tmp_name, "upload/".$name);
$content = file_get_contents ( "upload/".$name );
$imageBase = base64_encode( $content );
$success = savePicture($imageBase);
}
函数保存图片()
function savePicture($pic_base64)
{
ini_set("soap.wsdl_cache_enabled", "0");
$pageURL = 'http://....';
$page = new NTLMSoapClient($pageURL);
$params = array("pRecordID" => "1",
"pFieldID" => 70000,
"pUserID" => "153",
"pContent" => $pic_base64
);
$result = $page->SetBLOBValue($params);
if($result->return_value != "ERROR")
{
return true;
}
else
{
return false;
}
}
知道为什么这在 ipad/iphone 上不起作用吗?
我希望有人能帮助我。
我认为 iPhone/iPad 与 capture=camcorder
有一些问题。
请试试这个:
<input type="file" name="datei" accept="image/*;capture=camera">
而不是
<input type="file" name="datei" accept="capture=camcorder">
有关更多信息,请查看:
已解决
问题是 SOAP 服务的文件最大大小为 1MB! 这就是为什么我无法上传大于 1MB 的 Base64 字符串的问题!
现在我们将文件的最大大小增加到 10MB,现在可以使用了!
这就是为什么我不能上传一些图片的原因,因为有些图片在 base64 字符串中大于 1mb。
谢谢大家的帮助!