对于将图像上传到服务器-Swift3感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解swift图片上传,并且为您提供关于AcerSwift3笔记本怎么样AcerSwift3笔记本上手图赏、A
对于将图像上传到服务器-Swift 3感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解swift图片上传,并且为您提供关于Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏、Android 10 及更高版本的 Scoped Storage 应用程序崩溃,将图像上传到服务器、Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望、Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数的宝贵知识。
本文目录一览:- 将图像上传到服务器-Swift 3(swift图片上传)
- Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏
- Android 10 及更高版本的 Scoped Storage 应用程序崩溃,将图像上传到服务器
- Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望
- Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数
将图像上传到服务器-Swift 3(swift图片上传)
我想随请求一起发送图像作为参数。我使用下面的代码调用POST请求,但是我不知道如何将图像追加到正文中。
我通过图像选择器获取图像,如下所示:
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
我的要求如下
var request = URLRequest(url: URL(string: "")!) // link removed
request.httpMethod = "POST"
let postString = "user_id=\(userId)&image=\(image)"
request.httpBody = postString.data(using:.utf8)
let task = URLSession.shared.dataTask(with: request) { data,response,error in
guard let data = data,error == nil else { // check for fundamental networking error
return
}
do {
let json = try JSONSerialization.jsonObject(with: data,options: .mutableContainers) as? AnyObject
if let parseJSON = json {
print("resp :\(parseJSON)")
}
} catch let error as NSError {
print("error : \(error)")
}
}
task.resume()
我是Swift的新手。我已经通过multipart / form-data看到了这一点,但无法自己实现。我不想将其编码为基本64格式。请帮助我。
Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏
Acer Swift 3是宏碁推出的笔记本电脑,具有轻薄时尚等元素,这里为大家带来 Acer Swift 3笔记本上手图赏 ,一起来看看。
14英寸1920*1080的显示屏幕、2.5GHz的英特尔酷睿酷睿i3、i5-7200u/i7处理器、图形128mb英特尔高清显卡620、8GB/256GB的SSD、Windows Hello、指纹识别器,处理速度快可媲美MacBook,售价仅为1398美元(约£1090/1760美元),性价比方面还是不错的。
以上就是 Acer Swift 3笔记本上手图赏 相关内容,希望对你有帮助。
Android 10 及更高版本的 Scoped Storage 应用程序崩溃,将图像上传到服务器
如何解决Android 10 及更高版本的 Scoped Storage 应用程序崩溃,将图像上传到服务器?
我正在尝试使用改造将图片从图库或相机上传到服务器。
我的应用程序在 android 10 之前运行良好,我选择了使用范围存储,
val_ds = tf.keras.preprocessing.image_dataset_from_directory(
data_dir,validation_split=0.2,subset="validation",seed=121,image_size=(img_height,img_width),batch_size=batch_size)
但是在 android 11 中它被删除了所以我应该做些什么来修复范围存储的错误
android:requestLegacyExternalStorage="true"
显示对话框以选择厨房或相机
2021-02-13 15:46:39.335 13981-13981/com.nixbin.MeetNepali W/System.err: java.lang.IllegalStateException: Failed to build unique file: /storage/emulated/0/Pictures Title image/jpeg
2021-02-13 15:46:39.337 13981-13981/com.nixbin.MeetNepali W/System.err: at android.os.Parcel.createException(Parcel.java:2079)
2021-02-13 15:46:39.337 13981-13981/com.nixbin.MeetNepali W/System.err: at android.os.Parcel.readException(Parcel.java:2039)
2021-02-13 15:46:39.337 13981-13981/com.nixbin.MeetNepali W/System.err: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
2021-02-13 15:46:39.337 13981-13981/com.nixbin.MeetNepali W/System.err: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
2021-02-13 15:46:39.337 13981-13981/com.nixbin.MeetNepali W/System.err: at android.content.ContentProviderProxy.insert(ContentProviderNative.java:495)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.content.ContentResolver.insert(ContentResolver.java:1854)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.provider.MediaStore.createPending(MediaStore.java:627)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.provider.MediaStore$Images$Media.insertimage(MediaStore.java:1802)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at com.nixbin.MeetNepali.application.MyApplication.getimageUri(MyApplication.java:280)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at com.nixbin.MeetNepali.fragments.discussionFragment.onActivityResult(discussionFragment.java:295)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:170)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.Activity.dispatchActivityResult(Activity.java:8140)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.ActivityThread.deliverResults(ActivityThread.java:4969)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.ActivityThread.handleSendResult(ActivityThread.java:5017)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2123)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.os.Looper.loop(Looper.java:214)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7710)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
2021-02-13 15:46:39.338 13981-13981/com.nixbin.MeetNepali W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
设置图片路径功能
public void uploadImageTypePost() {
//set image path
setimagepath();
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
getActivity());
// set title
alertDialogBuilder.setTitle("Choose option");
// set dialog message
alertDialogBuilder
.setMessage("Please select image from ")
.setCancelable(false)
.setPositiveButton("Camera",(dialog,id) -> {
dialog.cancel();
if (hasCameraPermission()) {
takePicture();
} else {
requestCameraPermission();
}
})
.setNegativeButton("gallery",id) -> {
if (hasgalleryPermission()) {
opengallery();
} else {
requestgalleryPermission();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.setCancelable(true);
// show it
alertDialog.show();
}
打开图库
private void setimagepath() {
String fileName = "IMG_" + new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + ".jpg";
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File sdIconStorageDir = new File(Environment.getExternalStorageDirectory() + "/" + "Pictures/");
// create storage directories,if they don''t exist
sdIconStorageDir.mkdirs();
mFileTemp = new File(Environment.getExternalStorageDirectory() + "/" + "Pictures/",fileName);
} else {
mFileTemp = new File(getActivity().getFilesDir(),fileName);
}
}
拍照
private void opengallery() {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent,REQUEST_CODE_galLERY);
}
关于活动结果
private void takePicture() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
try {
Uri mImageCaptureUri = null;
String state = Environment.getExternalStorageState();
mImageCaptureUri = FileProvider.getUriForFile(getContext(),BuildConfig.APPLICATION_ID + ".provider",mFileTemp);
intent.putExtra(MediaStore.EXTRA_OUTPUT,mImageCaptureUri);
intent.putExtra("return-data",true);
startActivityForResult(intent,REQUEST_CODE_TAKE_PICTURE);
} catch (ActivityNotFoundException e) {
Log.d("","cannot take picture",e);
}
}
获取路径
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if (requestCode == REQUEST_CODE_galLERY && resultCode == RESULT_OK) {
try {
final Uri imageUri = data.getData();
final InputStream imagestream = getActivity().getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage = BitmapFactory.decodeStream(imagestream);
Bitmap resized = Bitmap.createScaledBitmap(selectedImage,500,true);
filepath = getPath(getActivity(),getimageUri(getActivity(),resized));
Utils.loadImageRound(getActivity(),profileImage,filepath);
Log.d(TAG,"onActivityResult: " + filepath);
//Absolute Path
} catch (FileNotFoundException e) {
e.printstacktrace();
Toast.makeText(getActivity(),"PickUp image failure",Toast.LENGTH_SHORT).show();
}
} else if (requestCode == REQUEST_CODE_TAKE_PICTURE && resultCode == RESULT_OK) {
try {
filepath = mFileTemp.getAbsolutePath();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(),Uri.fromFile(new File(mFileTemp.getAbsolutePath())));
Bitmap resized = Bitmap.createScaledBitmap(bitmap,true);
System.out.println("image width" + resized.getWidth() + " image height" + resized.getHeight());
filepath = getPath(getActivity(),resized));
filepath = getPath(getActivity(),filepath);
Log.d(TAG,"onActivityResult: " + filepath);
} catch (Exception e) {
System.out.println("exception...." + e.toString());
}
} else {
// Toast.makeText(mActivity,"Permission Denied Goto Settings and allow storage and camera permission",Toast.LENGTH_SHORT).show();
}
}
提前感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望
总结
以上是小编为你收集整理的Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数
总结
以上是小编为你收集整理的Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
我们今天的关于将图像上传到服务器-Swift 3和swift图片上传的分享就到这里,谢谢您的阅读,如果想了解更多关于Acer Swift 3笔记本怎么样 Acer Swift 3笔记本上手图赏、Android 10 及更高版本的 Scoped Storage 应用程序崩溃,将图像上传到服务器、Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望、Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数的相关信息,可以在本站进行搜索。
本文标签: