上传图片

在newbatchattachment.js里面规范只能上传图片

 

 

//附件批量上传
function uploadFiles() {
var diyHtml = '<div style="width:100%;position: relative">';
diyHtml += '<form style="width: 340px;height: 84px;" enctype="multipart/form-data">';
diyHtml += ' <div><input type="file" accept=".jpg, .png, .jpeg, .PNG,.gif" multiple="multiple" id="batchFileSelectId" name="batchFileSelectId" style="margin:20px 0 0 20px" class="required"/></div>';
diyHtml += '';
diyHtml += ' <div style="position: absolute;right: 40px;bottom: 14px;"> <button class="btn btn-primary btn-xs topFunButton" id="batchFileUploadId" name="batchFileUploadId" type="button">上传</button></div>';
diyHtml += '</form>';
diyHtml += '</div>';

var layerObj = $.layer({
type: 1,
title: "附件上传",
closeBtn: [1, true],
border: [5, 0.5, '#666', true],
offset: ['100px', ''],
area: ['340px', '120px'],
page: {
html: diyHtml
}
});

$("#batchFileSelectId").change(function () {
var file = $("#batchFileSelectId").get(0).files[0];
var fileSize = file.size > 0 ? (file.size / 1024).toFixed(0) : 0;
});

$("#batchFileUploadId").click(function () {
var successFilesNum=0;
var failedFilesNum=0;

var $this = $(this);
var uploadurl = "/DocCenterService/upload";

var files = document.getElementById("batchFileSelectId").files;

if (files.length<=0) {
jAlert("请先选择文件!");
return false;
}
if (files.length>10) {
jAlert("最多同时上传10个文件,请重新选择!");
return false;
}
var overSizeArr = new Array();
for(var i=0; i< files.length; i++){
var file = files[i];
if(file.size>50*1024*1024){
overSizeArr.push(file.name);
}
}
if(overSizeArr.length>0){
var overSizeStr = "";
for(var i=0;i<overSizeArr.length;i++){
overSizeStr = overSizeStr+overSizeArr[i]+",";
}
overSizeStr = overSizeStr.substring(0,overSizeStr.length-1);
jAlert(overSizeStr+" 大小超过50M,请重新选择!");
return false;
}

for(var i=0; i< files.length; i++){
var file = files[i];
var fName=file.name;

var fNameS = fName.split(".");
var ff=fNameS[fNameS.length-1];

var formData = new FormData();
formData.append('uploadfile', file);
formData.append('uid', 'SUPERADMIN');
formData.append('disk_id', '3');
formData.append('folder_id', '0');
formData.append('type', 'doc');

$this.buttonIsLoading();

$.ajax({
url: uploadurl,
type: 'POST',
cache: false,
data: formData,
processData: false,
async:false,
contentType: false
}).done(function (res) {
var resObj = JSON.parse(res);
if (resObj['code'] === '0000') {
$this.buttonFinishLoading();
//jSuccess("文件上传成功!");
successFilesNum++;

$("#attachment").addRow();
var tr=$("#attachment").find("tbody tr:last");
tr.find("input[name*=FILE_ID]").val(resObj['docid']);
tr.find("input[name*=FILE_NAME]").val(fName);
var htmlValue = "<a style='text-decoration: underline;' href='/DocCenterService/doc?doc_id="+resObj['docid']+"'>"+fName+"</a>";
tr.find("td.txtFileName").html(htmlValue);
var today = $("#today").val();
tr.find("input[name*=CRT_DATE]").val(today);

setTimeout(function () {
layer.close(layerObj);
}, 1000);
} else {
//jError("文件上传失败");
failedFilesNum++;
}
}).fail(function (res) {
//jError("上传文件失败");
failedFilesNum++;
console.log('fail:res', res);
});
}

if(successFilesNum==files.length){
jSuccess("所有文件上传成功!");
refleshTable();
}else{
jAlert(successFilesNum+"个文件上传成功,"+failedFilesNum+"个文件上传失败!");
}
});
}

//刷新列表
function refleshTable(){
var len = $('#attachment tbody tr').length;
for(var i = 0;i<len;i++){
$('#attachment tbody tr:eq('+i+') td:first').text(i+1);
}
}

 

 

改好之后放在自己的文件夹下再去引入

例如

 

<%--&lt;%&ndash;文件上传相关引入&ndash;%&gt;--%>
<script type="text/javascript" src="/skin/js/upload/swfupload.js"></script>
<script type="text/javascript" src="/skin/js/upload/fileprogress.js"></script>
<script type="text/javascript" src="/skin/js/upload/handlers.js"></script>
<script type="text/javascript" src="/crm/jsp/com/v6/screen/crm/workplat/wp19sd/linyi0539/appraisalActivity/newbatchattachment.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/skin/js/pub/jquery.form.js"></script>
以供参考
<div class="foldContent" style="flex: 1">
<div class="buttonContainer">
<button type="button" class="btn btn-primary btn-xs btn-border" id="addId" onclick="uploadFiles()"><span class='v6icon plus'></span> 新增</button>
</div>

<div>
<div style="text-align: right;">
<input type="hidden" id="txtFileName" readonly="readonly" />
<span id="spanButtonPlaceholder"></span>
</div>
<div class="flash" id="fsUploadProgress" style="display: none;">
<!-- This is where the file progress gets shown. SWFUpload doesn't update the UI directly.
The Handlers (in handlers.js) process the upload events and make the UI updates -->
</div>
<input type="hidden" id="fileId" value=""/>
<input type="hidden" id="FILE_NAME" >
<!-- This is where the file ID is stored after SWFUpload uploads the file and gets the ID back from upload.php -->
</div>
<table id="attachment" class="editgrid" style="margin: 0 auto; width: 100%; margin-top: 20PX;" listName="attachmentList">
<thead>
<tr>
<th width="5%">序号</th>
<th width="20%" style="display: none;" type="hidden">附件ID</th>
<th width="20%">附件名称</th>
<th width="20%">下载</th>
<th width="20%">编辑</th>
</tr>
</thead>
<tbody class="dno">
<c:if test="${not empty wholeWordAttrList}">
<c:forEach items="${wholeWordAttrList}" var="listObj"
varStatus="i">
<tr>
<td class="aligncenter" id="OldSeq" >${i.count}</td>
<td style="display: none;">
<input type="hidden" name="FILE_ID" value="${listObj.FILE_ID}">
</td>
<td >
<input type="text" name="FILE_NAME" maxlength="50">
</td>
<td class="txtFileName">

</td>
<td class="aligncenter">
<span class="hide">
<img style="cursor:pointer;" src="/skin/${cookie['skin'].value}/flexgrid/delete.png" onclick="doDeleteRow('1')"></img>
</span>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${empty wholeWordAttrList}">
<tr id="attachmentTbody">
<td class="aligncenter" ></td>
<td style="display: none;">
<input type="hidden" name="FILE_ID">
</td>
<td>
<input type="text" name="FILE_NAME" maxlength="50">
</td>
<td class="txtFileName">

</td>
<td class="aligncenter">
<span class="hide">
<img style="cursor:pointer;" src="/skin/${cookie['skin'].value}/flexgrid/delete.png" onclick="doDeleteRow('1')"></img>
</span>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
二:插入附件
以供参考
public int insertICrmLy(Map<String, Object> viewMap){

if (log.isDebugEnabled()){
log.debug("AppraisalactivityDomainImpl-------insertICrmLy-----start");
}
//获取主键
String ACT_CODE = (String) viewMap.get("ACT_CODE");
if (log.isDebugEnabled()){
log.debug("ACT_CODE-----------"+ACT_CODE);
}


// 获取附件List
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

if (viewMap.get("attachmentList") != null) {
list = (List<Map<String, Object>>) viewMap.get("attachmentList");
}
if (log.isDebugEnabled()){
log.debug("c获取附件List-------"+list);
}
for (Map<String, Object> map : list) {
log.debug("---------map"+map);
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("ACT_CODE",ACT_CODE);
paramMap.put("LINE_NO", IdProvider.nextIntValue("ICRM_LY_ACT_LINE_NO")); //获取流水号
String fileName = (String) (map.get("FILE_NAME") == null ? "" : map.get("FILE_NAME"));
paramMap.put("ENCLOSURE_NAME", fileName);
String fileId = (String) (map.get("FILE_ID") == null ? "" : map.get("FILE_ID"));
if (fileId.length()>32){
String id = fileId.substring(0,32);
paramMap.put("FILE_ID",id);
}else {
paramMap.put("FILE_ID",fileId);
}

String URL = "/DocCenterService/doc?doc_id=" + fileId;
paramMap.put("URL", URL);

if (log.isDebugEnabled()) {
log.debug("--------paramMap"+paramMap);
}

sqlSession.insert("AppraisalactivitySqlMap.insertIc", paramMap);
}

return 1;
}

二:更新附件

 public void updateCrmProcessAttach(Map<String, Object> viewMap){

// 先删后插
Map<String, Object> delMap = new HashMap<String, Object>();
// 根据页面NAME属性获取值
String ACT_CODE = (String) viewMap.get("ACT_CODE");
delMap.put("ACT_CODE", ACT_CODE);
// String FILE_ID = (String) viewMap.get("FILE_ID");
// delMap.put("FILE_ID", FILE_ID);
// String ENCLOSURE_NAME = (String) viewMap.get("ENCLOSURE_NAME");
// delMap.put("ENCLOSURE_NAME", ENCLOSURE_NAME);
if (log.isDebugEnabled()){
log.debug("------delMap-"+delMap);
}
//删除
SqlSession sqlSession = V6SqlSessionUtil.getSqlSession();
int delete = sqlSession.delete("AppraisalactivitySqlMap.deleteIc", delMap);
if (delete==1){
log.debug("删除成功");
}else{
log.debug("删除失败");
}


// 插入
// 获取附件List
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
String comId = V6BspInfo.getComId();
if (viewMap.get("attachmentList") != null) {
list = (List<Map<String, Object>>) viewMap.get("attachmentList");
}
if (log.isDebugEnabled()){
log.debug("----list-----"+list);
}
for (Map<String, Object> map : list) {
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("ACT_CODE",ACT_CODE);
paramMap.put("LINE_NO", IdProvider.nextIntValue("ICRM_LY_ACT_LINE_NO"));
String fileName = (String) (map.get("FILE_NAME") == null ? "" : map.get("FILE_NAME"));
paramMap.put("ENCLOSURE_NAME", fileName);
String fileId = (String) (map.get("FILE_ID") == null ? "" : map.get("FILE_ID"));
if (fileId.length()>32){
String id = fileId.substring(0,32);
paramMap.put("FILE_ID",id);
}else {
paramMap.put("FILE_ID",fileId);
}
String ATTACH_URL = "/DocCenterService/doc?doc_id=" + fileId;
paramMap.put("URL", ATTACH_URL);

sqlSession.insert("AppraisalactivitySqlMap.insertIc", paramMap);
}
}

三、删除附件

public int  deleteCrmProcessAttach(String id) {

SqlSession sqlSession = V6SqlSessionUtil.getSqlSession();
int delete = sqlSession.delete("CgaretteActivitySqlMap.deleteIc", id);

return delete;
}





 

posted @ 2023-01-16 16:05  码农在广场  阅读(49)  评论(0编辑  收藏  举报