[英]Upload image server using multipart in android
Upload image server using multipart
in android.在android中使用
multipart
上传图像服务器。 Here i have used this url
在这里我使用了这个
url
public static final String UPLOAD_URL = "http://abcds.com/clients/cupidapi/uploadimg";
Here i have used multipart to upload image in Mysql
database server.这里我使用multipart在
Mysql
数据库服务器中上传图像。 When i try to upload image on server, it shows notification in my device saying " Upload successfully " but there is no image record uploaded in database.当我尝试在服务器上上传图像时,它在我的设备中显示“上传成功”的通知,但数据库中没有上传图像记录。
public void uploadMultipart() {
//getting the actual path of the image
String path = getPath(filePath);
Log.e(TAG,"PATH---------->"+path);
//Uploading code
try {
String uploadId = UUID.randomUUID().toString();
Log.e(TAG,"UPLOADID-------->"+uploadId);
//Creating a multi part request
new MultipartUploadRequest(this, uploadId,UPLOAD_URL)
.addFileToUpload( "image",path) //Adding file
.addParameter("name", name) //Adding text parameter to the request
.setNotificationConfig(new UploadNotificationConfig())
.setMaxRetries(2)
.startUpload(); //Starting the upload
Log.e(TAG,"URL----->"+path);
} catch (Exception exc) {
Toast.makeText(this, exc.getMessage(), Toast.LENGTH_SHORT).show();
Log.e(TAG,"GETMESSAGE"+exc.getMessage());
}
}
the content I get logged looks like this:我记录的内容如下所示:
03-20 13:42:28.316 12069-12089/com.example.uploadimageserver E/[DRVB][EXT][UTIL]: disp_only_chk: DRVB CHECK DISP PROCESS DONE ! (1/0x2f/0x30/0x2e)
03-20 13:42:28.316 12069-12089/com.example.uploadimageserver E/[DRVB][EXT][UTIL]: disp_only_chk: DRVB CHECK DISP PROCESS DONE ! (0/0/0)
03-20 13:46:44.656 12069-12069/com.example.uploadimageserver E/MainActivity: PATH---------->/storage/emulated/0/Pictures/Instagram/IMG_20190218_082042_666.jpg
03-20 13:46:44.691 12069-12069/com.example.uploadimageserver E/MainActivity: UPLOADID-------->35020ace-11aa-40cc-b0f4-50ec2879b9bd
03-20 13:46:44.745 12069-12069/com.example.uploadimageserver E/MainActivity: URL----->/storage/emulated/0/Pictures/Instagram/IMG_20190218_082042_666.jpg
Here my server code:这是我的服务器代码:
private function uploadimg(){
$currentDir = getcwd();
$uploadDirectory = "profile/";
$errors = []; // Store all foreseen and unforseen errors here
$fileExtensions = ['jpeg','jpg','png','gif']; // Get all the file extensions
$userid =$_POST['user_id'];
$fileName = $_FILES['images']['name'];
$fileSize = $_FILES['images']['size'];
$fileTmpName = $_FILES['images']['tmp_name'];
$fileType = $_FILES['images']['type'];
$fileExtension = strtolower(end(explode('.',$fileName)));
$uploadPath = $currentDir . $uploadDirectory . basename($fileName);
$uploadPath = $uploadDirectory . basename($fileName);
$imgurl="https://abcds.com/clients/cupidapi/".$uploadDirectory.$fileName ;
if (isset($_POST['name'])) {
if (! in_array($fileExtension,$fileExtensions)) {
$errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
}
if ($fileSize > 2000000) {
$errors[] = "This file is more than 2MB. Sorry, it has to be less than or equal to 2MB";
}
if (empty($errors)) {
$didUpload = move_uploaded_file($fileTmpName, $uploadPath);
if ($didUpload) {
$success[] = "profile upload successfuly";
$sql ="INSERT INTO db_images(image_path,user_id) VALUES('$imgurl','$userid')";
$res=mysql_query($sql);
} else {
$errors[] = "An error occurred somewhere. Try again or contact the admin";
}
} else {
foreach ($errors as $error) {
$errors[] = $error . "These are the errors" . "\n";
}
}
}else{
$re="inserting problem....";
print(json_encode($re));
}
if(!$res)
{
$re="inserting problem....";
print(json_encode($re));
}
else{
$re="inserting success....";
print(json_encode($success));
}
}
Try to this example it is very good and easy to upload image file without any stretch image. 试试这个例子,在没有任何拉伸图像的情况下上传图像文件是非常好的和容易的。
// Upload File
def uploadServiceVersion = "3.4.2"
implementation "net.gotev:uploadservice:$uploadServiceVersion"
Goto GitHub then see the code https://github.com/gotev/android-upload-service/wiki/Setup Goto GitHub然后看代码https://github.com/gotev/android-upload-service/wiki/Setup
/* Solution here Before I declared $_POST Method: if (isset($_POST['name'])) Now I have use this Method $_FILES */ / *解决方案在此之前我声明了$ _POST方法:if(isset($ _ POST ['name']))现在我已经使用了这个方法$ _FILES * /
if (isset($_FILES['image'])) {
if (! in_array($fileExtension,$fileExtensions)) {
$errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.