javaoss
『壹』 java 怎樣把 ckfinder 整合 oss
出現問題的原因是java代碼中獲取的中文字元串沒有定義編碼格式,讀取的時候是亂碼,所以顯示不出來。
獲取到的文件中通常都是「iso8859-1」格式,需要轉換為「UTF-8」格式。
如:String str = new String(str.getByte("iso8859-1"),"UTF-8");進行下強制轉換後在進行讀取即可。
通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的強制轉換不成功,依次進行這些格式的嘗試,肯定是可以解決問題的。
『貳』 求助,OSS的JAVA上傳出錯,以前沒有出現錯誤
主要是由於沒有指定endpoint這個參數導致的 !
OSS服務目前分杭州跟青島節點,兩個節點都有自己的獨立請求地址,如果bucket創建在青島節點上,默認使用oss.aliyuncs.com地址去請求,就會報以上錯誤,所以在操作之前要確認endpoint裡面的請求地址跟bucket是否都一致,如果需要青島跟杭州兩個節點的bucket都需要請求,那就需要建多個osscleint,定義endpoint的時候,需要將青島跟杭州節點的地址都添加進去,詳細的可以查看SDK demo!
『叄』 ECS上JavaSDK訪問OSS總是超時怎麼解決
ECS上JavaSDK訪問OSS總是超時怎麼解決假如你的json是這樣的格式:varjson={『key_1』:123,'key_2':234,'key_3':567};那麼你可以用循環的方式拿到:for(variinjson){alert("key="+i)}如果是用java處理json的話,那麼先轉換成JSONObject對象:Stringstring="{key_1:123,key_2:234,key_3:567}";JSONObjectjson=JSONObject.fromObject(string);Setset=json.keySet();for(Stringkey:set){System.out.println("key=="+key);}
『肆』 阿里雲OSS的java實現生成url簽名的代碼示例嗎
生成簽名以後的URL的示例代碼如下:
// Generate a presigned URL
Date expires = new Date (new Date().getTime() + 1000 * 60); // 1 minute to expire
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest.setExpiration(expires);
URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
System.out.println(url.toString());
這段代碼假定指定bucketName和key的Object已經上傳到OSS,用戶可以根據修改設定expires,即過期時間。更詳細的操作可以參考OSSClient#generatePresignedUrl方法和GeneratePresignedUrlRequest類的幫助。
『伍』 什麼命令是java語言的解釋器
Java解釋器可用來直接解釋執行Java位元組代碼,具體命令行格式如下:
C:\>java options className
argumentsclassName必須包括所有軟體包信息。不僅有類名本身,還有Java 解釋器所期望的類名(不是Java位元組代碼的文件名),所有在解釋器環境下運行的類都必須包括解釋器第一次調用時所需的main成員函數,用以傳遞命令所帶的變數。public static void main(string args[]){ ......}
下面Java解釋器的所有選項。-cs -checksource 此選項讓解釋器重編譯Java源文件已更新的類--重編譯已改變過了的類。-classpath path 此選項重寫CLASSPATH環境變數,告訴Java在哪裡能找到類庫。如果其中用冒號分開,則可能包含多個目錄。 -mx x 此選項設置內存分配池的最大值。所指定的池必須大於1,000位元組。
另外「K」,「M」可附加在數字上指定是千位元組還是兆位元組。預設值是16MB。 -ms x 此選項設置內存分配池的最小值。所指寂的池必須大於1,000位元組。
另外,「K」,「M」可加在數字上指定的是千位元組還是兆位元組。預設值是1MB。-noasyncgc 此選項關閉非同步無用單元收集功能,只有在程序中調用它或內存溢出的時候,無用單元收集才會被激活。
-ss x 此選項將C線程棧的最大值設置為x , x 必須大於1KB,其設定方式同 -ms。 -oss x 此選項設定Java堆棧最大值為x。
-v,-verbose 此選項告知Java每當類被調用之時, 向標准輸出設備輸出信息。 -verify 此選項告知Java在所有代碼上使用校驗。-verifyremote 此選項告知Java 僅僅對類載入器所載入的類進行校驗。-noverify 此選項告知Java不進行校驗。 -verbosegc 此選項告知Java讓無用單元收集器在它釋放內存時顯示一條信息。 -t 此選項在Java-g解釋器中是可用的,並把執行的情況逐條列印出來。 -debug 此選項允許Java調試器與本次Java 解釋器會話相聯接。它運行時,Java會顯示一個密碼,用於啟動這次調試會話
-D propName=newVal 此選項允許用戶在運行時改變屬性值
『陸』 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);
『柒』 通過java如何獲取到上傳阿里雲OSS的文件的下圖的下載文件地址,
具體的可以查看這篇文章:網頁鏈接
public static String uploadFile(File file){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = format.format(new Date());
if(null == file){
return null;
}
OSSClient ossClient = new OSSClient(endpoint_im,accessKeyId_im,accessKeySecret_im);
try {
//容器不存在,就創建
if(! ossClient.doesBucketExist(bucket_im)){
ossClient.createBucket(bucket_im);
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket_im);
createBucketRequest.setCannedACL(CannedAccessControlList.Default);
ossClient.createBucket(createBucketRequest);
}
//創建文件路徑
String fileUrl = dateStr + "/" + new Date().getTime()+"."+fileType;
//上傳文件
PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucket_im, fileUrl, file));
//設置許可權 這里是私有許可權讀寫
// ossClient.setBucketAcl(bucketName,CannedAccessControlList.Default);
if(null != result){
return fileBucketprefix+"/"+fileUrl;
}
}catch (OSSException oe){
logger.error(oe.getMessage());
}catch (ClientException ce){
logger.error(ce.getMessage());
}finally {
//關閉
ossClient.shutdown();
}
return null;
}
『捌』 怎麼用javaweb上傳文件到阿里雲OSS
前段時間正好做個項目,就是用的oss,普通上傳和斷點續傳,代碼貼出來,看是不是你需要的
publicclassOssManage{
publicstaticStringACCESS_KEY_ID=null;
publicstaticStringACCESS_KEY_SECRET=null;
publicstaticStringENDPOINT=null;
publicstaticStringBUCKETNAME=null;
publicstaticStringBUCKETNAME_VIDEO=null;
publicstaticStringOUT_OF_DATE=null;
privateOSSClientclient=null;
privateObjectMetadatameta=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.Exceptione){
e.printStackTrace();
}
}
publicvoidinit(){
//初始化一個OSSClient
client=newOSSClient(ENDPOINT,ACCESS_KEY_ID,ACCESS_KEY_SECRET);
meta=newObjectMetadata();
}
/**
*@Description:上傳文件到OSS文件伺服器
*@paramcontent文件流
*@paramkey上傳為OSS文件伺服器的唯一標識
*@parammimeType文檔類型
*@throwsException
*@ReturnType:StringOSSObject的ETag值。
*/
publicStringuploadFile(InputStreamcontent,Stringkey,StringmimeType)throwsException{
//進行初始化
init();
//必須設置ContentLength
meta.setContentType(mimeType);
//上傳Object.
LogUtil.printConsoleLog("*****************上傳圖片到oss伺服器開始*****************"+key);
PutObjectResultresult=client.putObject(BUCKETNAME,key,content,meta);
LogUtil.printConsoleLog("*****************上傳圖片到oss伺服器結束*****************"+key);
returnresult.getETag();
}
/**
*@Description:根據key獲取oss伺服器上的圖片地址
*@paramkey
*@return
*@ReturnType:String
*/
publicStringgetImgURl(Stringkey){
init();
Dateexpires=newDate(newDate().getTime()+Integer.parseInt(OUT_OF_DATE));//30minutetoexpire
;
if(key.startsWith("msplatform")){
generatePresignedUrlRequest=(BUCKETNAME,key);
}else{
generatePresignedUrlRequest=(BUCKETNAME_VIDEO,key);
}
generatePresignedUrlRequest.setExpiration(expires);
URLurl=client.generatePresignedUrl(generatePresignedUrlRequest);
returnurl.toString();
}
/**
*@Description:根據key獲取oss伺服器上的ipa文件地址
*@paramkey
*@return
*@ReturnType:String
*/
publicStringgetIpaURl(Stringkey){
init();
Dateexpires=newDate(newDate().getTime()+10*365*24*3600*1000);
;
if(key.startsWith("msplatform")){
generatePresignedUrlRequest=(BUCKETNAME,key);
}else{
generatePresignedUrlRequest=(BUCKETNAME_VIDEO,key);
}
generatePresignedUrlRequest.setExpiration(expires);
URLurl=client.generatePresignedUrl(generatePresignedUrlRequest);
returnurl.toString();
}
/**
*@Description:根據key獲取oss伺服器上的圖片地址
*@paramkey
*@return
*@ReturnType:String
*/
publicInputStreamgetObject(Stringkey){
init();
OSSObjectobject=null;
if(key.startsWith("msplatform")){
object=client.getObject(BUCKETNAME,key);
}else{
object=client.getObject(BUCKETNAME_VIDEO,key);
}
object.getObjectMetadata().getContentType();
//獲取Object的輸入流
InputStreamobjectContent=object.getObjectContent();
returnobjectContent;
}
/**
*@Description:刪除文件
*@paramkeyOSS文件伺服器上文件的唯一標識
*@ReturnType:void
*/
publicvoiddeleteFile(Stringkey){
init();
client.deleteObject(BUCKETNAME,key);
}
/**
*@Description:斷點上傳文件到OSS文件伺服器
*@paramcontent文件流
*@paramkey上傳為OSS文件伺服器的唯一標識
*@paramposition位置
*/
publicStringappendObjectFile(InputStreamcontent,Stringkey,intposition,StringmimeType)throwsException{
//進行初始化
init();
//必須設置ContentLength
meta.setContentLength(position);
meta.setContentType(mimeType);
meta.setCacheControl("no-cache");
meta.setContentEncoding("utf-8");
//上傳
LogUtil.printConsoleLog("*****************斷點上傳圖片到oss伺服器開始*****************"+key);
=newAppendObjectRequest(BUCKETNAME,key,content,meta);
appendObjectRequest.setPosition(Long.valueOf(position));
=client.appendObject(appendObjectRequest);
LogUtil.printConsoleLog("*****************斷點上傳圖片到oss伺服器結束*****************"+key);
returnappendObjectResult.getNextPosition().toString();
}
publicstaticvoidmain(String[]args){
OssManageossManage=newOssManage();
}
}