Tag: 上传

使用节点后端在Swift中将图像上传到AWS S3

众所周知,在任何应用程序中处理图像上传都是棘手的 如果此内容对您来说有点繁重,请看一下我有关移动后端开发的课程。 许多应用程序需要某种图像上传功能,但是实现此功能意味着解决一些不同的问题。 开发人员必须决定要将图像存储在何处以及如何安全地到达那里。 必须使用远程存储解决方案; 您不想浪费服务器的带宽或介质上的磁盘速度。 在异步Web应用程序或移动应用程序中实现此功能会带来另一个问题:如果通过服务器进行身份验证,我们是否真的必须将图像发布到服务器上,然后才将它们移动到永久位置? 亚马逊S3 Amazon Simple Storage Service(S3)可以为我们解决所有这些问题。 S3 存储桶是用于存储文件的存储单元。 在本指南中,我将向您展示如何使用Node.js后端向经过身份验证的用户发布签名的URL ,每个URL都将允许我们的Swift应用程序直接将单个文件上传到S3存储桶。 上传的图片将在其自己的URL上可用。 总览 首先,我将向您展示如何设置存储桶。 然后,我将编写一个最小的Express应用程序,该应用程序生成签名的URL-您可以自己实现身份验证(请参阅我的移动后端开发课程)。 最后,我将向您展示如何使用Alamofire检索签名的URL,然后使用该URL上传图像。 设置桶 首先,注册Amazon Web服务,然后导航到S3仪表板。 选择创建存储桶并输入名称; 我通常使用域名。 将区域设置为俄勒冈州-这对应于“ us-west-2”区域,我将在稍后的配置中使用该区域。 点击创建 。 现在,在存储桶的仪表板上,选择右上角的“ 属性 ”,然后在“ 权限”下,单击“ 添加存储桶策略” 。 存储桶策略由一些看起来很神秘的JSON组成,但是我们在此处添加的策略仅允许任何人查看存储桶中的任何文件。 复制以下内容并将其粘贴为存储桶策略,然后点击保存 。 { “ Version”:“ 2008-10-17”, “声明”:[ { “ Sid”:“ AllowPublicRead”, “效果”:“允许”, “校长”:{ “ AWS”:“ *” }, “ […]

Alamofire Multipart与参数:从UIImagePickerController Swift上传图像

第一。 基本上,上传多部分表单UIImagePickerController时,您将需要来自图像选择器的数据文件。 首先,您将需要UIImagePickerControllerDelegate和UINavigationControllerDelegate并在info.plist中添加Privacy-Photo Library使用说明。 在调用函数imagePickerController之前,需要在函数内部添加委托UIImagePickerController。 例如我有功能handleProfilePicker: func handleProfilePicker(){ 让选择器= UIImagePickerController() picker.delegate =自我 picker.allowsEditing = true ….(您的Picker颜色的NavigationBar的自定义代码) self.present(picker,animated:true,completion:nil) } 描述委托后,您可以调用函数imagePickerController didFinishPickingMediaWithInfo。 此功能是从照片库中捕获文件图像。 func imagePickerController(__ picker:UIImagePickerController,didFinishPickingMediaWithInfo信息:[String:任何]){ } 当我完成从选择器中选择的图像以处理值编辑图像和未编辑图像时,我具有自定义代码,这是: func imagePickerController(__ picker:UIImagePickerController,didFinishPickingMediaWithInfo信息:[String:任何]){ var selectedImage:UIImage? 如果让editedImage = info [“ UIImagePickerControllerEditedImage”]为? UIImage { selectedImage = editedImage }如果让originalImage = info [“ UIImagePickerControllerOriginalImage”]设置为其他? UIImage { selectedImage = originalImage } 如果让selectedImages = selectedImage […]