鍍金池/ 問答/HTML5  HTML/ 怎么把 圖片路徑轉(zhuǎn)換成可以上傳服務(wù)器的格式

怎么把 圖片路徑轉(zhuǎn)換成可以上傳服務(wù)器的格式

最近做APP項(xiàng)目,需要拍照獲取照片,上傳給服務(wù)器,我使用的h5+ 里面的方法

var camera = plus.camera.getCamera(1); //獲取攝像頭管理對(duì)象
    camera.captureImage(function(capturedFile) {
        console.log("capturedFile:" + capturedFile);
    }, function(e) {
            console.log("拍照錯(cuò)誤:" + e.message);
    }, {
        index: 1,
    popover: {
            top: '0px',
            left: '0px'
    }
});

現(xiàn)在可以調(diào)取攝像頭拍照,返回路徑 _doc/15132648561.jpg
然后怎么把圖片路徑用ajax上傳到服務(wù)器,
或者哪位大神有別的調(diào)取攝像頭和上傳方法也可以。謝謝了。

回答
編輯回答
耍太極

content-type 設(shè)為 multipart/form-data 正常 ajax 請(qǐng)求就可以了

2017年6月20日 02:30
編輯回答
菊外人

使用安卓原生多好,為什么采用h5呢?

2017年5月21日 15:41
編輯回答
做不到

如果你使用的是HTML5+這個(gè)第三方庫的話,你應(yīng)該看看關(guān)于文件上傳的api,下面是他的其中是一個(gè)示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴(kuò)展API加載完畢后調(diào)用onPlusReady回調(diào)函數(shù) 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 擴(kuò)展API加載完畢,現(xiàn)在可以正常調(diào)用擴(kuò)展API 
function onPlusReady() {
}
// 創(chuàng)建上傳任務(wù)
function createUpload() {
    var task = plus.uploader.createUpload( "http://www.test.com/upload.do", 
        { method:"POST",blocksize:204800,priority:100 },
        function ( t, status ) {
            // 上傳完成
            if ( status == 200 ) { 
                alert( "Upload success: " + t.url );
            } else {
                alert( "Upload failed: " + status );
            }
        }
    );
    task.addFile( "_www/a.doc", {key:"testdoc"} );
    task.addData( "string_key", "string_value" );
    //task.addEventListener( "statechanged", onStateChanged, false );
    task.start();
}
</script>
</head>
<body >
    <input id="upload" type="button" value="Create upload task" onclick="createUpload();" ></input>
</body>
</html>

Uploader模塊管理網(wǎng)絡(luò)上傳任務(wù),用于從本地上傳各種文件到服務(wù)器,并支持跨域訪問操作。通過plus.uploader可獲取上傳管理對(duì)象。Uploader上傳使用HTTP的POST方式提交數(shù)據(jù),數(shù)據(jù)格式符合Multipart/form-data規(guī)范,即rfc1867(Form-based File Upload in HTML)協(xié)議。

參考:Plus之uploader部分

2018年8月2日 19:29
編輯回答
命于你

封裝了兩個(gè)工具函數(shù)
調(diào)攝像頭拍照 轉(zhuǎn)為 base64
base64 用 Blob函數(shù)轉(zhuǎn)為數(shù)據(jù)文件
進(jìn)行上述兩步之后,可進(jìn)行formdata.append('key', value, '文件名')使用formdata進(jìn)行上傳。
其中Blob函數(shù)的兼容性沒實(shí)測(cè),根據(jù)can i use網(wǎng)站上的結(jié)果應(yīng)該沒問題。
同級(jí)還有一個(gè)用File函數(shù)生成數(shù)據(jù)文件的,但是不要用,兼容比較差。
當(dāng)然你也可以使用其他答案的uploader方法直接進(jìn)行文件上傳。

2018年4月29日 13:17