1.我昨天的成就
昨天写图片传输的接口
2.遇到什么困难
图片一直传不过去
3.今天的任务
写图片传输的接口
4.代码/截屏
private void scImage() {
//1、创建请求体
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)//请求类型
.addFormDataPart("name", "lisi")//参数1
// 第一个参数传到服务器的字段名,第二个你自己的文件名,第三个MediaType.parse("*/*")数据类型,这个是所有类型的意思,file就是我们之前创建的全局file,里面是创建的图片
.addFormDataPart("uploadfile", "uploadfile", RequestBody.create(MediaType.parse("*/*"), file))
.build();
//2、调用工具类上传图片以及参数
HttpUtil.uploadFile("http://192.168.24.148:8080/FishClass/upload", requestBody, new Callback() {
//请求失败回调函数
@Override
public void onFailure(Call call, IOException e) {
System.out.println("=============");
System.out.println("异常::");
e.printStackTrace();
}
//请求成功响应函数
@Override
public void onResponse(Call call, Response response) {
//showResponse(response.body().string());//在主线程中显示提示框
Log.d("onResponse","success");
}
});
}
private void askPermission(){
ActivityCompat.requestPermissions((Activity) requireContext(),new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
android.Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA
},0);
}
private void choosePic()
{
AlertDialog.Builder builder = new AlertDialog.Builder(requireContext()).setTitle("请选择图片")
.setItems(items, (dialog, which) -> {
if(which==0)
{
openCamera();
}
else{
openGallery();
}
});
builder.create()
.show();
}
private void openGallery() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
mResultLauncher.launch(intent);
}
@RequiresApi(api = Build.VERSION_CODES.N)
private void openCamera(){
String imageName = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()).format(new Date());
//File outputImage = new File(requireContext().getExternalCacheDir(), imageName+".jpg");
File outputImage = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), imageName+".jpg");
Objects.requireNonNull(outputImage.getParentFile()).mkdirs();
try
{
if(outputImage.exists())
{
outputImage.delete();
}
boolean a = outputImage.createNewFile();
Log.e("createNewFile", String.valueOf(a));
}
catch (IOException e)
{
e.printStackTrace();
}
imageUri= FileProvider.getUriForFile(requireContext(), "com.example.teamwork.fileprovider",outputImage);
path=imageUri.getPath();
// String immmmm1=getRealPathFromUri(imageUri);
// Log.e(immmmm1, immmmm1);
Log.e("存储的拍照路径为:::",path);
Intent intent0=new Intent("android.media.action.IMAGE_CAPTURE");
intent0.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent0,TAKE_PHOTO);
}
浙公网安备 33010602011771号