一、 清单文件的配置
添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:name=".MyApplication">
</application>
二、控件
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="上传图片"
android:onClick="OnPlay"/>
三、将Xutils引人当前工程中,并且写一个帮助类
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
x.Ext.setDebug(BuildConfig.DEBUG);
}
}
四、 主方法的实现
public class MainActivity extends AppCompatActivity {
//上传图片的路径
private String url = "http://169.254.159.111:8080/ssm/user/photoUpload";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void uploadImage(String url, String filePath) {
RequestParams params = new RequestParams(url);
//params.setAsJsonContent(true);
List<KeyValue> list = new ArrayList<>();
list.add(new KeyValue("file", new File(filePath)));
//st.add(new KeyValue("parameters", json.toString()));
MultipartBody body = new MultipartBody(list, "UTF-8");
params.setMultipart(true);
params.setRequestBody(body);
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
System.out.println("成功");
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
System.out.println("失败");
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
//Button的监听
public void OnPlay(View v){
//参数一:url是上传到哪儿的路径; 参数二: 是本地图片的路径
uploadImage(url,"storage/sdcard/chenzhenyan.jpg");
}
}