注册 登录
编程论坛 ASP技术论坛

[求助]如何让图片和文字一起上传,不用单独上传图片

steven1013 发布于 2007-09-11 09:18, 4121 次点击

我想问一个问题,现在我有一个企业信息管理系统的员工管理模块,我想把个人照片和文字信息一起送到服务器里!
我已经实现了一种方法:先把照片上传到服务器,复制下图片在服务器的地址,然后把地址和个人文字信息一起上传到服务器,这个方法的确实现了图文并茂!
但是就是每次都需要2个步骤:1,上传图片;2,上传文字。
现在我想问的是:如何可以一次就把图片和文字一起输入到服务器上,一个步骤实现?
最好数据库里只存放图片地址,以减少数据库的压力!
先谢谢啦……

[此贴子已经被作者于2007-9-11 9:21:46编辑过]

22 回复
#2
做人很低调2007-09-11 10:07
可以使用Iframe

把上传的FILE控件加到Iframe中
当上传图片后用SESSION或JS脚本把图片的保存路径返回

然后再将输入的信息和图片的路径一起保存到DATABASE中

不知道你用的上传类是什么样的

还有一种方法就是使用网上的风声无组件上传类
那样就不用这个麻烦了
可以直接用一个FORM就可以 那个是以UTF-8字符集的方式提交的
你想用这个就自己DOWN一个 看看吧 说不太明白。。。
#3
steven10132007-09-11 10:47

首先对做人很低调的回复表示感谢!
我现在就去试验下!

#4
steven10132007-09-12 17:14

把上传的FILE控件加到Iframe中
当上传图片后用SESSION或JS脚本把图片的保存路径返回

然后再将输入的信息和图片的路径一起保存到DATABASE中
能说具体点吗?
我还是搞不出来?
谢谢

#5
盖世豪侠2007-09-12 19:06
fsaf

[此贴子已经被作者于2007-9-16 21:51:40编辑过]


#6
盖世豪侠2007-09-12 19:13
帮你改要不
#7
steven10132007-09-13 08:28

能不能把原理说下,谢谢!

#8
盖世豪侠2007-09-13 08:41
上传文件不是你自己写吧

会从二进制流里剥出图片,同样也会剥出其它的东东
#9
jiushini502007-09-13 09:01
用无组件上传图片,然后把图片地址和文字一起存到数据库中就好了,用什么二进制流啊,麻烦
#10
盖世豪侠2007-09-13 09:30

sas

[此贴子已经被作者于2007-9-16 22:12:19编辑过]

#11
盖世豪侠2007-09-13 09:30
不说了,吃东东去
#12
steven10132007-09-13 09:58

上传是无组件上传
这个是主要代码,我想问的是:如何把iframe中上传后产生的新的文件名传值到
myfrom表单中给b,让b接受!我的目的是把b的值提交到数据库中!
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>
<body><form action="iframetest2" name="myform" method=post>
<table border="1" width="19%" id="table1" height="253" cellspacing="0" cellpadding="0">
<tr>
<td height="185" align="left" valign="top">
<p align="center">
<iframe id="GuestList" height="177" width="100%" scrolling="no" marginheight="1" marginwidth="1"frameborder="0" src=upfile/upload.asp name="iframe1">
</iframe></td>
</tr>
<tr>
<td height="44">
<p align="center">
<input type="text" name="b" id="pic" size="23" ></td>
</tr>
<tr>
<td>
<p align="center"><input type="submit" value="提交" name="B1">&nbsp;
<input type="reset" value="重置" name="B2"></td>
</tr>
</table>


</form>

</body>

</html>

[此贴子已经被作者于2007-9-13 9:59:32编辑过]

#13
盖世豪侠2007-09-13 10:17

<script language="javascript">
function aa(){
iframe1.document.form.b1.click();
}
</script>
<input type="submit" value="提交" name="b1" onclick="aa()">

提交这个时,同时模拟点击框架下<form>叫form的b1

如果你会cookie,可以用JS在提交时先把文字的部分写入cookie,那边收到图片后同时读出cookies(如果文字不是太长)

#14
steven10132007-09-14 08:27
盖世豪侠
谢谢你,但是我搞不出来啊!
晕了都……
这个难度太打了……
#15
盖世豪侠2007-09-14 09:53

xxx

[此贴子已经被作者于2007-9-14 9:58:40编辑过]

#16
盖世豪侠2007-09-14 09:59
只有本站会员才能查看附件,请 登录

#17
steven10132007-09-17 08:17
盖世豪侠
你给我的这个是无组件上传!
谢谢!
#18
steven10132007-09-17 08:25

其实我觉得做人很低调的想法是很好的……
我也想用这个方法……

可以使用Iframe
把上传的FILE控件加到Iframe中
当上传图片后用SESSION或JS脚本把图片的保存路径返回
然后再将输入的信息和图片的路径一起保存到DATABASE中

就是这个红色部分这部太难实现了,不知道怎么设置session或者js!

#19
月夜2007-09-17 20:41
我做的做法和2楼的兄弟一样
解决办法就是 如果你不会可以 但是我说了你再不会就请买块豆腐撞死
你既然可以做到上传图 然后上传资料 那么你就把上传文件单做一个页面 估计现在也是单个的页面吧?
然后就在上传资料的上边加上
<iframe frameborder=0 name=upload_frames width=80% height=10% scrolling=no src='你上传页面地址'></iframe>
这样你点击确定的时候你上传的也面会提示你上传成功
然后再点击上传你的资料 就可以了
#20
月夜2007-09-17 20:49
根本不需要红色的 直接写进数据库就可以了
#21
steven10132007-09-18 16:19

问题解决了!

在upload.asp文件中上传后的操作里写如下javascript代码
<script language="javascript">
parent.document.myform.b.value="[上传后的路径]";
</script>

再次谢谢各位的帮忙!

#22
syuanq2007-09-18 23:30
用window.open来弹出另一个窗口来上传图片
#23
steven10132007-09-19 08:01
已经全部搞定……
再次谢谢各位的帮助……
1