首页 新闻 会员 周边 捐助

部署到服务器后,silverlight项目下载服务器上的文件时,路径是什么?

0
悬赏园豆:50 [已关闭问题] 关闭于 2015-12-01 10:55

silverlight项目在本地运行时,下载文件路径http://localhost:****/ClientBin/Upload/****

端口号和文件名就不显示了,上传和下载文件都是正常的,

发布到服务区上之后,路径把localhost和端口号换成服务器上对应的为什么不可以呢?

不知道路径应该是什么?求帮忙~

问题补充:

求路径的详细代码,

Meng_meng的主页 Meng_meng | 初学一级 | 园豆:67
提问于:2015-11-24 14:06
< >
分享
所有回答(2)
0

silverlight是嵌入在asp中的一个富客户端而已,所以我们之前的做法是分开,通过silverlight调用asp的上传进行操作。路径和ClientBin是一级而不是内嵌

古月三石 | 园豆:259 (菜鸟二级) | 2015-11-24 15:26

一级?那路径是什么?

支持(0) 反对(0) Meng_meng | 园豆:67 (初学一级) | 2015-11-24 15:42

@Meng_meng: asp.net的相对路径

支持(0) 反对(0) 古月三石 | 园豆:259 (菜鸟二级) | 2015-11-24 16:29

@古月三石: 这项目太久,看了下源码,记错了打印是调用是asp.net的js,上传直接调用服务就好了,我们这边的服务是用WCF RIA。给你上代码

客户端:

#region [上传]按钮点击事件
        /// <summary>
        /// [上传]按钮点击事件
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">e</param>
        private async void buttonUpload_Click(object sender, RoutedEventArgs e)
        {
            // 开始进度条
            base.ShowProcessBar();
            FileInfo file = new FileInfo(this.textBoxFilePath.Text.Trim());

            //验证文件是否存在
            if (!file.Exists)
            {
                textBlockResult.Text = "文件不存在!";
                return;
            }

            //读取二进制流
            byte[] imBytes = this.ReadBytesByFile(file);
            
            // 上传对象
            M12_FileManager mfile = new M12_FileManager();
            mfile.FileManagerId = Guid.NewGuid();
            mfile.FileName = file.Name;
            mfile.FileSize = (int)file.Length;
            mfile.FileType = file.Extension;
            mfile.FileContent = imBytes;
            mfile.DisplayOrder = 0;
            mfile.Description = string.Empty;
            mfile.CreatedBy = null;
            mfile.CreatedOn = DateTime.Now;
            mfile.ModifiedBy = null;
            mfile.ModifiedOn = null;

            UploadTestContext uploadTestContext = new UploadTestContext();
            //调用WCF服务文件
            int res = await uploadTestContext.InvokeResultAsync(uploadTestContext.UploadFile(mfile.SerializeToJson()));

            // 隐藏进度条
            base.HideProcessBar();

            if (res > 0)
            {
                textBlockResult.Text = "上传成功!文件路径:" + file.FullName;
            }
            else
            {
                textBlockResult.Text = "上传失败!";
            }

            //恢复未上传前的控件状态
            this.textBoxFilePath.Text = string.Empty;
            this.buttonUpload.IsEnabled = false;

            //绑定列表
            BindGridData();
        }
        #endregion    

然后server端

/// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="fileStr">fileStr</param>
        /// <returns></returns>
        public int UploadFile(string fileStr) 
        {
            M12_FileManager file = fileStr.DeserializeFromJson<M12_FileManager>();
 
            // 获取到对象,取到文件的二进制,想放哪里放哪里
            return BusinessFactory.UploadTestBusiness.SaveFile(file);
        }
支持(0) 反对(0) 古月三石 | 园豆:259 (菜鸟二级) | 2015-11-25 09:19

@古月三石: 路径是这样的。

支持(0) 反对(0) 古月三石 | 园豆:259 (菜鸟二级) | 2015-11-25 09:22

@古月三石: AppDomain.CurrentDomain.BaseDirectory+"ExportFiles"

就是你的路径

支持(0) 反对(0) 古月三石 | 园豆:259 (菜鸟二级) | 2015-11-25 09:23
0

按理说应该是可以的,你手动访问这个地址,看看是不是405错误,很有可能是没有权限。

空明流光 | 园豆:111 (初学一级) | 2015-11-24 17:42

是404错误,找不到文件或目录

支持(0) 反对(0) Meng_meng | 园豆:67 (初学一级) | 2015-11-25 08:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册