oss上傳
Ⅰ 怎麼通過curl命令上傳文件到OSS
python SDK中帶了一個osscmd腳本,實現了大部分的OSS對外提供的介面功能,肯定比curl來得簡單。
比如上傳一個文件:
python osscmd put /your-file-path oss://你的bucket名字/
還支持上傳目錄,同時支持指定多個線程同時上傳
python
osscmd uploadfromdir localdir oss://bucket/[prefix]
--check_point=check_point_file --replace=false --check_md5=false
--thread_num=5
如果用命令行的話,oss python sdk帶的osscmd絕對是個好東東。
有個「OSS控制台客戶端Windows版」可以上傳文件夾,你可以在「雲市場」的「OSS工具」那找到
Ⅲ javascript 上傳文件到阿里雲的oss,上傳文件成功後怎麼獲取文件的真實路徑
如果你直接使用 javascript 將阿里雲的accessId、accessKey寫在頁面上是不安全的,你可以使用後台存儲這些敏感的信息,官網有相關的SDK ,你可以選擇你常用的。
在後台編寫你的回調函數,將回調函數憑證信息返回給前端,前端使用回調函數憑證訪問OSS,就可以獲取到回調函數信息。
Ⅳ C#OSS上傳回調
阿里雲OSS?
${bucket}、${object}、${etag}、${size}、${mimeType} 這幾個是系統變數,是回調給你服務端的時候傳遞回來的參數,用 ${} 圈起來是佔位用的,你收到的時候已經被替換成實際值了。
${x:var1}、${x:va2} 是自定義變數,是除了上述系統變數之外根據你業務需求自定義的參數,var1、var2 是鍵名,不是值。你應該起叫 .....&my_name=${x:var1}&my_age=${x:var2},然後在下面的請求正文里加入:
{
"x:var1":"張三",
"x:var2":24
}
這樣你服務端收到回調時的 my_name、my_age 兩個參數的值就是「張三」、「24」。
有關 Callback 的詳細文檔:https://help.aliyun.com/document_detail/31989.html?spm=5176.doc31853.2.2.aYia1U
Ⅳ 怎麼用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();
}
}
Ⅵ 阿里雲OSS中url中可以實現授權文件上傳嗎
Oss中url中授權文件上傳可以實現
java版代碼示例如下:GeneratePresignedUrlRequest generatePresignedUrlRequest =
1)url中包含簽名的好像能夠實現文件的下載,阿里雲能實現url中授權文件上傳嗎?
new GeneratePresignedUrlRequest(bucketName, key);
2)java版代碼示例如下:
generatePresignedUrlRequest.setMethod(HttpMethod.PUT);
generatePresignedUrlRequest.setExpiration(expires);
generatePresignedUrlRequest.addUserMetadata("usermeta", "uservalue"); // If you need to set user metadata
URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
Ⅶ 如何直接上傳文件至OSS,不用伺服器中轉
python SDK帶osscmd腳本實現部OSS外提供介面功能肯定比curl簡單
比傳文件:
python osscmd put /your-file-path oss://bucket名字/
支持傳目錄同支持指定線程同傳
python
osscmd uploadfromdir localdir oss://bucket/[prefix]
--check_point=check_point_file --replace=false --check_md5=false
--thread_num=5
用命令行oss python sdk帶osscmd絕東東
Ⅷ 阿里雲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";
}
關於文件名我已經給你注釋在代碼中了,你試試看
Ⅸ 如何讓客戶端直接上傳文件到OSS
很簡單,你先在項目建設一個臨時放緩存文件的目錄,然後將文件放在這個臨時緩存目錄,再將目錄里的文件上傳到oss上,然後刪掉緩存目錄里的臨時文件。。。。剛才我同事說的思維是這樣,具體代碼待會兒用到了再來完善回答