实际上,我正在尝试使用 Retrofit 将 txt 文件发送到服务器。但是当我实际尝试发送它时,它从 onFailure 方法中给了我以下错误
我是 android 新手,通过查看一些关于改造的教程,我仍然无法理解我做错了什么,即使我以正确的方式使用改造,如果有人能够帮助我,那就太好了。
E/TAG:无法向 API 提交帖子。
但实际上它是在服务器上创建一个文件夹但不发送文件,我做错了什么?
这是我的 ApiUtils.java
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface APIService {
@POST("UPD.aspx?CART=PTERM")
Call<MyResponse> savePost(@Body RequestBody text);
}
这是 RetrofitClient.java
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitClient {
private static Retrofit retrofit = null;
public static Retrofit getClient(String baseUrl) {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
这是 APIService.java
import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
public interface APIService {
@Multipart
@POST("UPD.aspx?CART=PTERM")
Call<Void> savePost(@Part MultipartBody.Part text);
}
这是我用来通过 onClick 发送文件的 sendPost() 方法
public void sendPost() {
File file = new File("/data/data/com.example.igardini.visualposmobile/files/scontrino.txt");
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
builder.addFormDataPart("scontrino", file.getName());
MultipartBody requestBody = builder.build();
APIService apiService = ApiUtils.getAPIService();
Call<Void> call = apiService.savePost(requestBody);
call.enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
if (response.isSuccessful()) {
} else {
}
}
如果有人建议我如何通过 http 请求提高改造性能,我将不胜感激。
墨色风雨
相关分类