论坛风格切换
您好,欢迎光临本站!   登录 注册新用户
  • 1640阅读
  • 1回复

[分享源码]Android添加phonegap--文件上传插件教程 [复制链接]

上一主题 下一主题
 
发帖
113
黑豆
565
威望
565
贡献值
0
交易币
0
红豆
0
只看楼主 倒序阅读 0 发表于: 2015-12-31
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广告主提供精准的移动营销与品牌推广服务。




快速回复
限100 字节
 
上一个 下一个