JS如何实现文件上传?服务器端怎么接受上传?用什么语言实现服务器端?Java或ObjC可以吗?
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
3个回答
展开全部
使用java就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
服务器端用php
追问
python呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用jquery 的ajaxupload.js 插件, 后台你 java 或 php 都可以:
如:
页面:
<button id="uploadBtn"></button>
js 部分
var btn = $('#uploadBtn');
new AjaxUpload(btn, {
action:url,
name:'files',
multiple: true,
responseType: 'json',
onSubmit : function(file, ext) {
if (ext && /^(JPG|PNG|JPEG|GIF|BMP|jpg|pne|jpeg|gif|bmp)$/.test(ext)){
this.setData({
'info':'文件类型正确'
});
} else {
sys_msg('文件类型错误', '只能上传类型为:JPG|PNG|JPEG|GIF|BMP 的图片文件!');
return false;
}
$('#uploads_span').html(sys_loading_img);
this.disable();
},
onComplete: function(files, response){
if ('error' == response.result)
sys_msg('失败', '上传文件失败,请检查文件名是否正确!');
else if ('file_type_error' == response.result)
sys_msg('文件类型错误', '只能上传类型为:JGP、GIF、BMP、ICO、PNG的文件!');
else {
var tr = $('#' + color);// 找到对应的TR
$.each(response.list,function(e) {
tr.find('img.img').attr({'src':'upload/commodity/'+ this.uuid +'.' + this.ext}).end()
.find('input.img-path').attr({'value': this.uuid +'.' + this.ext}).end();
return false;//这里只取第一张
});
this.enable();
}
}
});
java 后台
@RequestMapping(Url.UPLOAD)
public void fileUpload(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequestd = (MultipartHttpServletRequest) request;
List<MultipartFile> files = multipartRequestd.getFiles("files");
StringBuffer result = new StringBuffer("");
if (null != files && files.size() > 0) {
String name = null;
String ext = null;
String uuid = null;
String path = null;
String savePath = null;
UUID u = null;
for (MultipartFile mf : files) {
name = mf.getOriginalFilename();
if (isNotNull(name)) {
ext = name.substring(name.lastIndexOf('.') + 1);
if (!ext.toUpperCase().equals(Sys.JPG)
&& !ext.toUpperCase().equals(Sys.GIF)
&& !ext.toUpperCase().equals(Sys.JPEG)
&& !ext.toUpperCase().equals(Sys.BMP)
&& !ext.toUpperCase().equals(Sys.PNG)) {
print(response, Msg.J_FILE_TYPE_ERROR);
return;
}
name = name.substring(0, name.lastIndexOf('.'));
u = UUID.randomUUID();
uuid = u.toString().replace("-", "");
path = FILE_UPLOAD_PATH + uuid + Sys.DOT + ext;
savePath = ConfigParm.getProjectPath() + path;
FileOutputStream fo;
int size = 0;
try {
fo = new FileOutputStream(savePath);
size = mf.getBytes().length;
fo.write(mf.getBytes());
fo.close();
} catch (Exception e) {
print(response, Msg.ERROR);
e.printStackTrace();
}
FileInfo f = new FileInfo();
f.setDeleted(false);
f.setExt(ext);
f.setName(name);
f.setCt(new Date());
f.setModule(Parm.COMMODITY);
f.setCu(cu_code(request));
f.setOc(cu_organCode(request));
f.setSize(size);
f.setUuid(uuid);
commodityDAO.add(f);
result.append("{\"name\":\"" + f.getName() + "\", \"uuid\":\""+ f.getUuid() +"\",\"ext\":\""+ f.getExt() +"\"},");
}
}
result.insert(0, "{\"result\":\"success\",\"list\":[").deleteCharAt(result.length() - 1).append("]}");
print(response, result.toString());
} else {
result.append("{\"result\":\"not_find_file\"}");
}
}
具体的你可以百度搜一下 ajaxupload.js 插件的用法。都有说的很清楚的。
追问
python呢?
追答
这个没用过 ,不知道可否
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询