我想在服务器上上传 image
文件,因为没有找到任何方法直接在CodenameOne服务器上传文件 . 我转换为Base64格式的图像并发送到PHP文件,然后在PHP再次解码图像,并尝试上传 . 但同样也行不通 . 你能告诉我如何解决这个问题吗?
我的PHP代码:
<?php
define('UPLOAD_DIR', 'public_html/appFiles/GKQuiz/userProfilePicture/');
//$Imagecode=$_POST['Image'];
//Base64 String already added in $Imagecode
$Imagecode="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";
$img=base64_decode($Imagecode);
//echo $img;
$uid=uniqid();
$ftp_server = "example.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to ftp_server");
$login = ftp_login($ftp_conn, "example.com", "123");
if (ftp_put($ftp_conn, UPLOAD_DIR . $uid . ".jpg", $img, FTP_BINARY))
{
echo "Successfully uploaded";
}
else{
echo "Error uploading";
}
// close connection
ftp_close($ftp_conn);
?>
3 回答
我想你需要使用PHP: move_uploaded_file()正如你所看到的here是一个完整的例子,希望它对你有帮助 .
最后找到的答案如下 .
修正了PHP代码:
在CodenameOne中,您的代码可能如下所示:
Codename One具有内置标准上载API,支持MultipartRequest中的多部分请求HTTP标准 .
MultipartRequest无缝处理二进制base64等 .
拦截它的Java servlet代码应如下所示:
我不是一个PHP的人,但快速谷歌搜索让我在w3c school与此