leg附件下载


JS:

//加载附件
$("#odfile").attachment({'view':'1','down':'1'});


JSP:

<s:if test="attachs==null||attachs.size==0">
	<tr >
		<td class="bg-f9f9f9" rowspan="2" id="addFileTr" style="width: 20%;">
			<label class="control-label"><font color="#FF0000">* </font>资料备案:</label>
		</td>
		<s:if test="projAradeFile != null && projAradeFile.size > 0">
			<td colspan="3" style="padding:10px;">
				<s:iterator value="projAradeFile">
					<label>
						<a id="odfile" data-options="rank:<s:property value="relaRunk"/>,id:<s:property value="rowId"/>">
							<s:property value="fileName" />
						</a>
					</label>
				</s:iterator>
			</td>
		</s:if>
		<s:else>
			<td colspan="3">
				<div class="controls">
					<div class="form-attach-files" style="float:left; width:85%;">
						<input type="hidden"  value="辅助说明附件"/>
						<input type="file" id="upfile_0_file"/>
					</div>
				</div>
			</td>
		</s:else>
	</tr>
</s:if>
<tr id="addFile">
	<td colspan="3">
		<div class="pull-right">
			<a οnclick="addMoreFile()" class="btn"><i class="icon-plus"></i> 上传更多</a>
		</div>
	</td>
</tr>

后台:

protected List<Attachment> projAradeFile;//交易附件
projAradeFile = attachmentService.findByRelaAndType(projInfo.getRowId(),"projectAradeFile");








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VMProtect使用说明 一. 接口说明 //开始保护处标记(对应于功能设置:反调试、内存保护等等) VMProtectBegin(const char *); //开始虚拟化代码处标记(包括保护设置) VMProtectBeginVirtualization(const char *); //开始变异代码处标记(包括保护设置) VMProtectBeginMutation(const char *); //开始虚拟+代码变异标记处 VMProtectBeginUltra(const char *); VMProtectBeginVirtualizationLockByKey(const char *); VMProtectBeginUltraLockByKey(const char *); //保护结束处标记 VMProtectEnd(void); //检测调试 BOOL VMProtectIsDebuggerPresent(BOOL); //检测虚拟机 BOOL VMProtectIsVirtualMachinePresent(void); //映像文件CRC校验 BOOL VMProtectIsValidImageCRC(void); //解密被保护的名为字符串A char * VMProtectDecryptStringA(const char *value); //解密被保护的名为字符串W wchar_t * VMProtectDecryptStringW(const wchar_t *value); 二. 使用方法 1. 保护函数必须有始有终出现 VMProtectBegin、 VMProtectBeginVirtualization、 VMProtectBeginMutation、 VMProtectBeginUltra 必须有相对应的VMProtectEnd结束。 比如: void FunName() { VMProtectBegin(“FunName”); //最好用函数名,否则会出现重名冲突 ..... VMProtectEnd(); } 2. 保护的单元是函数,而不是整个EXE代码 比如: //不保护 void fun1(char* msg) { char* szmsg = "fun1 none vm"; OutputDebugString( szmsg ); } //虚拟化保护 int fun2( int x, int y ) { int n = x + y; VMProtectBeginVirtualization("fun2"); OutputDebugString( "x+y= %d" ); VMProtectEnd(); return n; } //虚拟化和变异保护 void fun3() { VMProtectBeginUltra("fun3"); fun1("fun3 call fun1"); VMProtectEnd(); fun2( 2, 4 ); } 3. 保护嵌套情况 void main() { char* szMsg = "proxxb vm sapmle!"; //不被保护 VMProtectBegin("main"); //被保护 OutputDebugString( "vm protect test." ); //被保护 fun1(szMsg); //函数内部自己去保护 fun2( 2, 4 ); //函数内部自己去保护 fun1(szMsg); //函数内部自己去保护 fun3(); //不被保护 VMProtectEnd(); getchar(); //不被保护 } 4. 字符串保护 应使用VMProtectDecryptStringA或VMProtectDecryptStringW函数保护名为字符串,被保护后,明晚字符串不再出现在内存,除非被解密的那一刻! char* Decrypt( char* key, char* buffer, long length ) { VMProtectBeginUltra("Decrypt"); .... VMProtectEnd(); } 调用方法: Decryp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪落夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值