日期:2014-05-18  浏览次数:20487 次

文件上传问题(路径为参数)
1:图片的路径不是来自用户选择。而是来自其他参数传递过来的,设为变量x(这个是大前提,无法改变)。
2:用c# asp.net 2.0 的方法去实现。
3:.net 里面确实有FileUpload 存在。但是需要用户去选择文件。与需求不符。


现想找一解决方案。
直接点击button 直接就执行上传功能,需要怎么处理?
我的理解是:FileUpload 似乎是不可以赋值的。
那么 FileUpload1.PostedFile.SaveAs()就没法用了?
还是有什么其他解决方法?
客户端的file.value似乎也是不可以赋值的。
那这个路径的图片应该怎么传到服务器上面去?

再次强调,路径来自于参数,而不是用户选择。这个问题难住我了。

求个解决方法?有代码最好。

------解决方案--------------------
可以实现的
------解决方案--------------------
使用js上传文件,其实就是js添加路径

把你的路径嵌入,js中

如:<script>var filename=<%=customFileName%>

http://www.cnblogs.com/ye512160243/articles/1213409.html
------解决方案--------------------
重写FileUpload控件,屏蔽选择路径属性,然后创建默认路径属性,然后后台代码实现
------解决方案--------------------
路径来自于参数,而不是用户选择。这个问题难住我了。

button_cliclk里面这样写 
string FileName ="";//获取到你的传递的参数
 
string upload_file = Server.MapPath("./upload/") + FileName;//取出服务器虚拟路径,存储上传文件

//这里就用一点小技巧了 详情请看这里http://tech.techweb.com.cn/thread-223642-1-1.html
 File1.PostedFile.SaveAs(upload_file);//开始上传文件 


------解决方案--------------------
你需要使用客户端程序去实现,如使用浏览器自定义协议去读取,web程序有安全性限制,不允许直接读取客户端的文件的,这是规则。
另外,你传个路径,你怎么知道客户端有这个路径呢?
------解决方案--------------------
attachment函数
C# code
  
//添加附件
            if (ReportURL != null)
            {
                string[] files = ReportURL.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string file in files)
                {
                    message.Attachments.Add(new Attachment(file));
                }
            }