oss上传图片
A. 阿里云oss php上传图片问题 上传前把图片重命名之后再上传到oss 怎么写代码呢
他这里有一个上传示例的
<?php
/**
*加载sdk包以及错误代码包
*/
require_once'oss_php_sdk/sdk.class.php';
$oss_sdk_service=newALIOSS();
$bucket='你的bucket名字';
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]<2000000))
{
if($_FILES["file"]["error"]>0)
{
echo"ReturnCode:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."KB<br/>";
echo"Tempfile:".$_FILES["file"]["tmp_name"]."<br/>";
$content='';
$length=0;
$fp=fopen($_FILES["file"]["tmp_name"],'r');
if($fp)
{
$f=fstat($fp);
$length=$f['size'];
while(!feof($fp))
{
$content.=fgets($fp,8192);
}
}
$upload_file_options=array('content'=>$content,'length'=>$length);
$upload_file_by_content=$oss_sdk_service->upload_file_by_content($bucket,$_FILES["file"]["name"],$upload_file_options);//$_FILES["file"]["name"]这个就是文件名,你可以自己定义的。
$img_url="http://storage.aliyun.com/".$bucket."/".$_FILES["file"]["name"];
echo"Uploadsuccessfully!TheOSSURLofthisfile:".$img_url."<br/>";
echo"Ifthebucketispublic-read,theuploadedimagecanbeshownas:"."<br/>";
echo"<imgsrc=$img_url/>";
}
}
else
{
echo"Invalidfile";
}
关于文件名我已经给你注释在代码中了,你试试看
B. 本地路径的api上传图片到oss云中图片还会经过自己的服务器吗
是不会经过index的服务器的,是直接通过接口保存到OSS
C. iOS用OSS上传一张图片,不成功,怎么回事
目前,苹果手机系统和电脑网页版提问可以一次性多图上传,安卓系统手机不能多图上传。建议你使用美图秀秀拼图上传或者追问的时候再上传。希望我的答案能帮到你
D. java上传图片到OSS怎么添加水印
首先,图片上的水印图片只能使用当前存储空间内的图片,如果没有,需要先传到当前空间内。
其次,水印图片的格式仅支持png,jpg,webp三种。
java里面上传水印,可以使用提供的sdk里面的watermark方法,这个函数有5个参数,分别是t,g,x,y,voffset.其中第一个参数表示透明度,其它参数表示位置。
当然了,它还可以指定水印文字,具体可以参考阿里云官方提供的文档,代码示例可以去github上找到对应操作的代码。
具体代码如下
// add watermark into the image
style = "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
E. 阿里云oss上传文件怎么显示后缀
默认就是有后缀的,就看你上传之前有没有加了,如果是分片上传的合并后也是有后缀的哈。
F. 阿里云里oss图片上传的复制文件地址太长了,怎么办
可以使用缩短试一试看看能不能行 或者换成其他的地址
G. 上传图片到oss然后获取到图片的url,然后通过url在网页查看图片怎么弄。
保存图片地址,类似“~/Images/UserId/face.png”那么这个属于服务器端相对地址stringdir=@"\UserFiles\Images\";stringphyPath=Request.PhysicalApplicationPath;stringvirPath=dir+Server.HtmlEncode(FileUpload1.FileName);stringsavePath=phyPath+virPath;fileUpload.SaveAs(savePath);那么你往数据库里保存的就是virPath这个虚拟路径。virPath=Server.MapPath(dir+FileUpload1.FileName);这也是转换正相对URL。
H. 有谁使用过阿里云oss的吗多文件多图时怎么上传
前段时间正好做个项目,就是用的oss,普通上传和断点续传,代码贴出来,看是不是你需要的public class OssManage {public static String ACCESS_KEY_ID = null;public static String ACCESS_KEY_SECRET = null;public static String ENDPOINT = null;public static String BUCKETNAME = null;public static String BUCKETNAME_VIDEO = null;public static String OUT_OF_DATE = null;private OSSClient client = null;private ObjectMetadata meta = null;static{try {ACCESS_KEY_ID = SysConst.getProperty("OSS_ACCESS_KEY_ID");ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");ENDPOINT = SysConst.getProperty("OSS_ENDPOINT"); BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME"); BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO"); OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");} catch (java.lang.Exception e) {e.printStackTrace();}}public void init(){ // 初始化一个OSSClient client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET); meta = new ObjectMetadata();}/** * @Description: 上传文件到OSS文件服务器 * @param content 文件流 * @param key 上传为OSS文件服务器的唯一标识 * @param mimeType 文档类型 * @throws Exception * @ReturnType:String OSSObject的ETag值。*/public String uploadFile(InputStream content,String key,String mimeType) throws Exception{//进行初始化init(); // 必须设置ContentLength meta.setContentType(mimeType); // 上传Object. LogUtil.printConsoleLog("*****************上传图片到oss服务器开始*****************" + key); PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta); LogUtil.printConsoleLog("*****************上传图片到oss服务器结束*****************" + key); return result.getETag();}/** * @Description: 根据key获取oss服务器上的图片地址 * @param key * @return * @ReturnType:String*/public String getImgURl(String key){init();Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description:根据key获取oss服务器上的ipa文件地址 * @param key * @return * @ReturnType:String */public String getIpaURl(String key){init();Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);GeneratePresignedUrlRequest generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description: 根据key获取oss服务器上的图片地址 * @param key * @return * @ReturnType:String*/public InputStream getObject(String key){init();OSSObject object = null;if(key.startsWith("msplatform")){object= client.getObject(BUCKETNAME, key);}else{object= client.getObject(BUCKETNAME_VIDEO, key);}object.getObjectMetadata().getContentType();// 获取Object的输入流InputStream objectContent = object.getObjectContent();return objectContent;}/** * @Description:删除文件 * @param key OSS文件服务器上文件的唯一标识 * @ReturnType:void*/public void deleteFile(String key){init();client.deleteObject(BUCKETNAME, key);}/** * @Description: 断点上传文件到OSS文件服务器 * @param content 文件流 * @param key 上传为OSS文件服务器的唯一标识 * @param position 位置*/public String appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{ //进行初始化 init(); // 必须设置ContentLength meta.setContentLength(position); meta.setContentType(mimeType); meta.setCacheControl("no-cache"); meta.setContentEncoding("utf-8"); // 上传 LogUtil.printConsoleLog("*****************断点上传图片到oss服务器开始*****************" + key); AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta); appendObjectRequest.setPosition(Long.valueOf(position)); AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest); LogUtil.printConsoleLog("*****************断点上传图片到oss服务器结束*****************" + key); return appendObjectResult.getNextPosition().toString();}public static void main(String[] args) {OssManage ossManage = new OssManage();}}
I. 怎么上传图片到阿里云
可以通过FTP的形式进行传输。或者是你做好的一个网站,把图片进行上传到网站,这样也到了阿里云的服务器下了。