首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AspNetZero -用户索引查看缩略图图像问题

AspNetZero -用户索引查看缩略图图像问题
EN

Stack Overflow用户
提问于 2018-10-10 04:33:21
回答 1查看 101关注 0票数 0

为了实现“概要图”功能,我复制了AspNetZero解决方案中使用的所有代码。我指的是允许用户上传自己照片的功能。我已经将现有的模式、JS文件和控制器方法分别复制到我的employee控制器和employee文件夹中,因为我需要相同的功能。

上传图像和保存到二进制对象表都很好。

当我试图在员工索引视图datatable列中显示上传照片的缩略图时,就会出现这个问题。我从解决方案中的用户索引视图中复制了此功能。

呈现“员工索引”视图时,不会出现缩略图。当我单击图像缩略图时,它将打开新的选项卡,并为复制的控制器方法抛出404错误。

以下是在用户索引视图中显示缩略图的JS代码:

代码语言:javascript
复制
targets: 1,
data: "userName",
render: function (userName, type, row, meta) {
var $container = $("<span/>");
   if (row.profilePictureId) {
       var profilePictureUrl = "/Profile/GetProfilePicture?t=" + row.profilePictureId;
       var $link = $("<a/>").attr("href", profilePictureUrl).attr("target", "_blank");
       var $img = $("<img/>")
        .addClass("img-circle")
        .attr("src", profilePictureUrl);
   $link.append($img);
   $container.append($link);
   }
   $container.append(userName);
   return $container[0].outerHTML;
  }

下面是我的employee索引视图中的相同代码:

代码语言:javascript
复制
 targets: 4,
 orderable: true,
 autoWidth: true,
 data: "fullName",
 render: function(fullName, type, row, meta) {
         var $container = $("<span/>");
          if (row.employeePictureId) {
             var profilePictureUrl = "/Employee/GetProfilePictureById?id=" + row.employeePictureId;
             var $link = $("<a/>").attr("href", profilePictureUrl).attr("target", "_blank");
             var $img = $("<img/>").addClass("img-circle").attr("src", profilePictureUrl);
       $link.append($img);
       $container.append($link);
     }
    $container.append(fullName);
    return $container[0].outerHTML;
     }

不工作的代码行是ProfilePictureUrl行。

代码语言:javascript
复制
var profilePictureUrl = "/Employee/GetProfilePictureById?id=" + row.employeePictureId;

如果我用用户index.js中的行替换上面的行,并调用profile控制器方法,它就可以正常工作了。但是,当我试图调用员工控制器方法时,它总是抛出404错误。我的员工控制器与配置文件控制器在解决方案中的级别相同。在我的MVC应用程序中,两个控制器都是同一区域的一部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 02:44:06

我刚刚解决了的问题。还有另一个配置文件控制器位于区域文件夹之外。因此,用户index.js中使用的URL不需要提到完整的路径。用户的照片功能是在应用程序的根级访问配置文件控制器,而不是在应用程序的内部。在我的例子中,我必须处理URL,就像对待我所在区域的所有调制解调器和脚本一样。下面是有效的解决方案。

代码语言:javascript
复制
var empPhotoUrl = abp.appPath + 'AreaName/Employee/GetProfilePictureById?id=';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52732677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档