@零件清单<;多部件车身零件>;在php中

@零件清单<;多部件车身零件>;在php中,php,android,retrofit,Php,Android,Retrofit,我正在使用这个函数发布多组图像 @Multipart @POST("addad") Call<resultsmodel> addad( @Part List< MultipartBody.Part> files , @Part MultipartBody.Part file, @Part("external_store") RequestBody external_store, @Part("inner_st

我正在使用这个函数发布多组图像

@Multipart
@POST("addad")
Call<resultsmodel> addad(
        @Part List< MultipartBody.Part> files ,
        @Part MultipartBody.Part file,
        @Part("external_store") RequestBody external_store,
        @Part("inner_store") RequestBody inner_store,
        @Part("sectionId") RequestBody sectionId,
        @Part("title") RequestBody title,
        @Part("branchId") RequestBody branchId,
        @Part("branch_type") RequestBody branch_type,
        @Part("user") RequestBody user,
        @Part("year") RequestBody year,
        @Part("view_number") RequestBody view_number,
        @Part("type") RequestBody type,
        @Part("price") RequestBody price,
        @Part("city_id") RequestBody city_id,
        @Part("district_id") RequestBody district_id,
        @Part("lat") RequestBody lat,
        @Part("lon") RequestBody lon,
        @Part("details") RequestBody details,
        @Part("country") RequestBody country


);
@Multipart
@邮政(“addad”)
叫阿达德(
@零件列表文件,
@Part MultipartBody.Part文件,
@零件(“外部存储”)请求主体外部存储,
@零件(“内部存储”)请求主体内部存储,
@零件(“sectionId”)请求主体sectionId,
@部分(“标题”)请求主体标题,
@部分(“branchId”)请求主体branchId,
@部分(“分支类型”)请求主体分支类型,
@部分(“用户”)请求主体用户,
@第(1)部分(“年”)请求主体年,
@零件(“视图编号”)请求主体视图编号,
@零件(“类型”)请求主体类型,
@部分(“价格”)请求主体价格,
@部分(“城市id”)请求主体城市id,
@部分(“地区id”)请求机构地区id,
@零件(“lat”)请求主体lat,
@零件(“lon”)请求主体lon,
@部分(“细节”)请求主体细节,
@部分(“国家”)请求机构国家
);

我想知道如何在php中接收这个图像数组,这里有几个与Android一起工作的php和Java代码示例。请参阅PHP代码下面的Android Java示例代码

PHP(upload.PHP):

createPartFromString()方法:

private MultipartBody.Part prepareFilePart(String partName, Uri fileUri) {

    File file = new File(fileUri.getPath());

    // create RequestBody instance from file
    RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), file);

    // MultipartBody.Part is used to send also the actual file name
    return MultipartBody.Part.createFormData(partName, file.getName(), requestFile);
}
private RequestBody createPartFromString(String descriptionString) {
    return RequestBody.create(MediaType.parse("multipart/form-data"), descriptionString);
}
最后是客户机.java类:

public class RetrofitClient {

    private static final String ROOT_URL = "http://192.168.50.10/gallery/";

    public RetrofitClient() { }

    private static Retrofit getRetroClient() {
        return new Retrofit.Builder()
                .baseUrl(ROOT_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }

    public static FileUploadService getApiService() {
        return getRetroClient().create(FileUploadService.class);
    }
}

下面是两个使用Android的PHP和Java代码示例。请参阅PHP代码下面的Android Java示例代码

PHP(upload.PHP):

createPartFromString()方法:

private MultipartBody.Part prepareFilePart(String partName, Uri fileUri) {

    File file = new File(fileUri.getPath());

    // create RequestBody instance from file
    RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), file);

    // MultipartBody.Part is used to send also the actual file name
    return MultipartBody.Part.createFormData(partName, file.getName(), requestFile);
}
private RequestBody createPartFromString(String descriptionString) {
    return RequestBody.create(MediaType.parse("multipart/form-data"), descriptionString);
}
最后是客户机.java类:

public class RetrofitClient {

    private static final String ROOT_URL = "http://192.168.50.10/gallery/";

    public RetrofitClient() { }

    private static Retrofit getRetroClient() {
        return new Retrofit.Builder()
                .baseUrl(ROOT_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }

    public static FileUploadService getApiService() {
        return getRetroClient().create(FileUploadService.class);
    }
}

与android无关我需要的答案非常糟糕,所以我发布了与android相关的广告,因为可能一个php开发人员不知道这是怎么回事,如果你从常规post获取图像,不需要从php进行更改。方法是pastuse
$\u FILES
for Images这意味着php没有获取所有文件。安卓方面肯定有问题。检查此项与android无关我需要的答案非常糟糕,因此我发布了与android相关的广告,因为可能php开发人员不知道这是怎么回事如果您从常规post获取图像,则无需从php进行更改。方法是pastuse
$\u FILES
for Images这意味着php没有获取所有文件。安卓方面肯定有问题。检查这个