Android添加phonegap--文件上傳插件教程

JS代碼:
var options=new FileUploadOptions();
options.fileKey="file";
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType="text/plain";

JAVA代碼:
int MAX_SIZE = 102400 * 102400;
DataInputStream in = null;
FileOutputStream fileOut = null;
String contentType = request.getContentType();
try {
if (contentType.indexOf("multipart/form-data") >= 0) {
in=new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
if (formDataLength > MAX_SIZE) {
return;
 }
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while(totalBytesRead < formDataLength) {
byteRead=in.read(dataBytes, totalBytesRead, formDataLength);
totalBytesRead+=byteRead;
     }
String file =new String(dataBytes);
String saveFile=file.substring(file.indexOf("filename=\"") + 10);
saveFile=saveFile.substring(0, saveFile.indexOf("\n"));
saveFile=saveFile.substring(saveFile.lastIndexOf("\\")+1, saveFile.indexOf("\""));
int lastIndex=contentType.lastIndexOf("=");
String boundary=contentType.substring(lastIndex + 1,contentType.length());
int pos;
pos=file.indexOf("filename=\"");
pos=file.indexOf("\n", pos) + 1;
pos=file.indexOf("\n", pos) + 1;
pos=file.indexOf("\n", pos) + 1;
int boundaryLocation=file.indexOf(boundary, pos) - 4;

//取得文件數據的開始的位置
int startPos = ((file.substring(0, pos)).getBytes()).length;

//取得文件數據的結束的位置
int endPos=((file.substring(0, boundaryLocation)).getBytes()).length;

//建立文件的寫出類
fileOut = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/aa.jpg");

//保存文件的數據
fileOut.write(dataBytes, startPos, (endPos - startPos));
fileOut.close();
}
}catch(Exception ex){
}

注意:還得加上一個參數:options.chunkedMode = false;

KeyMob手機廣告聯盟是國內TOP的手機廣告平臺, KeyMob做爲專業的智能手機廣告聯盟致力於爲手機應用APP開發者打造最好的手機廣告收入,爲數以萬計的APP廣告主提供精準的移動營銷與品牌推廣服務。



java

相關文章
相關標籤/搜索