내가 만든 간식 이미지 저장

dev_bert
kyebyungha 3 years ago
parent 5e3114962c
commit 18fe5d866b

@ -1,8 +1,16 @@
package com.backoffice.m.bf_daily_nutrition;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;
@ -18,6 +26,8 @@ import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.backoffice.admin.code_group.code_item.A_Code_itemBO;
@ -30,6 +40,9 @@ import com.backoffice.m.bf_food.M_Bf_foodBO;
import com.backoffice.m.bf_growth.M_Bf_growthBO;
import com.backoffice.m.member_env.M_Member_envBO;
import com.backoffice.m.util.M_Util;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.renastudio.creative.web.util.AbstractControllerManager;
import com.renastudio.creative.web.util.DataMap;
import com.renastudio.creative.web.util.RenaStringUtil;
@ -37,6 +50,7 @@ import com.renastudio.creative.web.util.date.DateUtil;
import com.renastudio.creative.web.util.file.FileAgent;
import com.renastudio.creative.web.util.file.FileMeta;
import com.renastudio.creative.web.util.model.PageItem;
/**
* @author renamaestro
@ -613,14 +627,34 @@ public class M_Bf_daily_nutritionController extends AbstractControllerManager{
@RequestMapping(value="ajax_insert_self", method=RequestMethod.POST)
@ResponseBody
public HashMap<String, Object> ajax_insert_self(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
public HashMap<String, Object> ajax_insert_self(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, MultipartHttpServletRequest mRequest ) throws JsonParseException, JsonMappingException, IOException {
HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
DataMap paramMap = gmUtil.getDataMapFromRequest(request);
MultipartFile file = mRequest.getFile("attachedImage");
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = mapper.readValue(mRequest.getParameter("fileData"), Map.class);
paramMap.putAll(map);
int[] arr_thumbnail_size = new int[]{300};
boolean[] arr_thumbnail_watermark = new boolean[]{false};
HashMap<String, FileMeta> mapFileMeta = fileAgent.uploadImage(paramMap,arr_thumbnail_size, arr_thumbnail_watermark, request, response, ConstantCode.DIR_WATERMARK_IMG, ConstantCode.DIR_WATERMARK_TXT);
if(mapFileMeta != null){
for(Entry<String, FileMeta> entry : mapFileMeta.entrySet()){
String key = entry.getKey();
FileMeta fileMeta = entry.getValue();
if(fileMeta != null){
paramMap.put("imgurl1", fileMeta.getMt_file_seq());
}
}
}
HashMap<String, Object> result = new HashMap<String, Object>();
result.put("RESULT", ConstantResultCode.RESULT_INIT);
try {
int dbc_no = (int)bf_daily_nutritionBO.insert_bf_self(paramMap);
result.put("dbc_no", dbc_no);

@ -1681,6 +1681,8 @@
<isNotEmpty property="bean">,bean</isNotEmpty>
<isNotEmpty property="none">,none</isNotEmpty>
<isNotEmpty property="company">,company</isNotEmpty>
<isNotEmpty property="imgurl1">,imgurl1</isNotEmpty>
) VALUES (
NOW()
<isNotEmpty property="prd_nm">,#prd_nm#</isNotEmpty>
@ -1720,6 +1722,7 @@
<isNotEmpty property="bean">,#bean#</isNotEmpty>
<isNotEmpty property="none">,#none#</isNotEmpty>
<isNotEmpty property="company">,#company#</isNotEmpty>
<isNotEmpty property="imgurl1">,#imgurl1#</isNotEmpty>
)
<selectKey keyProperty="dbc_no" resultClass="int">
SELECT LAST_INSERT_ID()
@ -1733,8 +1736,11 @@
x.prd_nm ,
x.company ,
x.barcode ,
x.imgurl1
x.imgurl1 ,
y.mt_file_local_url
FROM tbl_db_sf_commerce x
LEFT JOIN tbl_mt_file Y
ON x.imgurl1 = y.mt_file_seq
WHERE 1 = 1
AND prd_nm like N'%$prd_nm$%'
</select>

@ -33,7 +33,7 @@ $(document).ready(function(){
});
function ajax_data(keyword){
debugger;
if(keyword == ''){
Swal.fire({text: '검색어를 입력해주세요'});
}else{
@ -71,7 +71,7 @@ function ajax_data(keyword){
var dn_no = result.list[i].dn_no;
var prd_nm = result.list[i].prd_nm;
var company = result.list[i].company;
var barcode = result.list[i].barcode;
var barcode = result.list[i].barcode;
var imgurl1 = result.list[i].imgurl1;
html +='<li><a href="javascript:save_set(\'db_dn_no\', \'' + dn_no + '\', \'' + prd_nm + '\' ,\'bf\' );"><img src="' + imgurl1 + '" alt="섭취량 이미지" width="200px" />' + prd_nm + '</a></li>';
}

@ -18,6 +18,15 @@
<p class="input_text"><input type="text" id="company" name="company" class="required" style="text-align:left;" placeholder="제조회사"></p>
</div>
-->
<div class="nutrition_camera">
<div class="nutrition_camera_box">
<div id="img_preview" class="img_preview">
<p><label for="img"><img src="<#if model['rm']['append_300_img_file']?exists>${URL_ROOT}/file/get_img.do?mt_file_seq=${model['rm']['append_300_img_file']}<#else>${URL_STATIC_ROOT}/m/img/main/main_cont_img_camera.png</#if>" alt="사진영역" /></label></p>
</div>
<input type="file" id="img" name="append_src_img_file">
</div>
</div>
<div class="input_cont">
<h2>칼로리</h2>
<div class="box">
@ -384,7 +393,7 @@
this.ajax_insert_self()
},
ajax_insert_self: function(){
var self = {}
var self = {}
self.prd_nm = $('#menu_nm').val()
self.company = $('#company').val()
self.calorie = $('#calorie').val()
@ -443,11 +452,20 @@
self.none = "Y"
}
debugger;
var formData = new FormData();
// form Data 객체 생성
formData.append("attachedImage",img.files[0]);
formData.append('fileData',JSON.stringify(self));
$.ajax({
url:'${URL_ROOT}/m/bf_daily_nutrition/ajax_insert_self.do?1=1',
processData: false, // 데이터 객체를 문자열로 바꿀지에 대한 값이다. true면 일반문자...
contentType: false, // 해당 타입을 true로 하면 일반 text로 구분되어 진다.
data: formData, //위에서 선언한 fromdata
type:'post',
data: self,
dataType:'json',
data: formData,
// dataType:'json',
error:function(request,status,error){
Swal.fire({text:"등록되지 않았습니다"})
},
@ -455,7 +473,6 @@
console.log(result)
var RESULT = result.RESULT
if(RESULT == 0){ //0:RESULT_SUCCESS
debugger;
save_set('', result.dbc_no, $("#menu_nm").val(), 'sf')
Swal.fire({text:"입력되었습니다"});
}else{

@ -5,7 +5,7 @@
.nutrition_camera { padding-top:35px; background: url(../img/main/main_cont_img_camera_bg01.png)no-repeat top center/18px auto; }
.nutrition_camera .nutrition_camera_box { padding-bottom:40px; background: url(../img/main/main_cont_img_camera_bg03.png)no-repeat bottom center/18px auto; }
.nutrition_camera input { display:none; }
.nutrition_camera .img_preview { position:relative; overflow:hidden; width:260px; height:250px; margin:0 auto; background:#fff; border:5px solid #fff; border-radius:20px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }
.nutrition_camera .img_preview { position:relative; overflow:hidden; width:150px; height:120px; margin:0 auto; background:#fff; border:5px solid #fff; border-radius:20px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }
.nutrition_camera .img_preview label { display:block; width:100%; height:auto; }
.nutrition_camera .img_preview img { position: absolute; width:100%; height:100%; top: 50%; left: 50%; transform: translate(-50%, -50%); }
</style>
@ -169,12 +169,8 @@
// Upload preview Function
displayImage : function(file, classname) {
if (typeof FileReader !== "undefined") {
// var container = document.getElementsByClassName(classname),
// img = document.createElement("img"),
// reader;
$(this).siblings(classname).find('img').remove();
var container = $(this).siblings(classname),
img = document.createElement("img"),
reader;

@ -193,7 +193,7 @@
function list_more2(is_new) {
function list_more2(is_new) {
if(is_new == 'Y'){
nowPage = 0;
$('#ul_board2').empty();
@ -243,8 +243,7 @@
var company = result.list[i].company;
var barcode = result.list[i].barcode;
var imgurl1 = result.list[i].imgurl1;
html +='<li><a href="javascript:save_set(\'db_dbc_no\', \'' + dbc_no + '\', \'' + prd_nm + '\', \'sf\' );">' + prd_nm + '</a></li>';
html +='<li><a href="javascript:save_set(\'db_dbc_no\', \'' + dbc_no + '\', \'' + prd_nm + '\', \'sf\' );"><img src="${URL_ROOT}/file/get.do?mt_file_seq=' + imgurl1 + '" alt="간식 이미지" width="200px" />' + prd_nm + '</a></li>';
}
var ul_board2 = $('#ul_board2');

Loading…
Cancel
Save