当前位置:编程学习 > JAVA >>

求解一个文件上传初始化问题?

想要的效果是点击一个按钮,然后弹出一个模态对话框,生成一个路径,比如 C:/a.text 使用returnValue返回,现在想用这个路径当作文件上传的对象, 请问怎么初始化这个对象。 --------------------编程问答-------------------- 文件上传只能用FILE控件去让用户手工选择上传的目标,不能象你这样赋值,否则黑客就很容易利用这个窃取用户电脑内任意资料了。

除非你做个自己的FLASH或者ACTIVEX控件去尝试一下。 
 
--------------------编程问答-------------------- 这个就不能调用系统自带的文件对话框了,得自己写active上传控件,比系统自带上传要难那么一点。 --------------------编程问答-------------------- 如楼上两位所说
你也可以用<input type="file">让用户自己选一个文件嘛,干嘛要用模态对话框呢 --------------------编程问答-------------------- 谢谢上面的回答 --------------------编程问答-------------------- 当然要用模式对话框了,既然用户点了上传,接下来的动作当然是让用户选择他想上传的文件了,你给个默认的路径有什么用,用户的电脑这个路径里面一定会有这样的一个文件吗?不合实际情况吧..

文件上传没有初使化这样的说话哦.. --------------------编程问答-------------------- 具体实现是这样的 打开的这个模态对话框会生成一张图片 然后保存在客户端机器上 所以我可以得到这个文件的路径 现在想将他上传给服务器 但是又不想让用户手动点击 --------------------编程问答--------------------
引用 6 楼  的回复:
具体实现是这样的 打开的这个模态对话框会生成一张图片 然后保存在客户端机器上 所以我可以得到这个文件的路径 现在想将他上传给服务器 但是又不想让用户手动点击

你这个需求得用控件来实现。普通的JS是没办法实现的。 --------------------编程问答--------------------
引用 6 楼  的回复:
具体实现是这样的 打开的这个模态对话框会生成一张图片 然后保存在客户端机器上 所以我可以得到这个文件的路径 现在想将他上传给服务器 但是又不想让用户手动点击

楼主试试这个控件:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,适合各种简单WEB项目。
另外一个特点是支持自动上传指定的本地文件。



单文件上传演示

上传本地文件代码
使用步骤如下:
1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用PostFirst函数开始上传文件。

<script type="text/javascript" language="javascript">
     var uploaderMgr = new HttpUploaderMgr();
     uploaderMgr.Load();//加载控件

window.onload = function()
{
uploaderMgr.Init();//初始化控件
//添加一个本地文件
uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
uploaderMgr.PostFirst();

};
</script>
 


单文件整合代码:

服务器返回消息:<input id="txtFilePath" type="text" size="50" />
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderSingleMgr();
uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
uploaderMgr.Load();
//文件上传完成后执行的回调函数
uploaderMgr.CompleteHook = function(msg)
{
document.getElementById("txtFilePath").value = msg;
};

window.onload = function()
{
uploaderMgr.Init();
};
</script>

示例下载:
CAB安装包
开发文档
ASP示例
ASP.NET示例
JSP示例
PHP示例
--------------------编程问答-------------------- 不可能获取客户端的路径,安全性考虑路径已经加密,可以用jquery-uploadify插件 支持多上传 --------------------编程问答--------------------  我来试试上面那个控件 谢谢。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,