小编Ema*_*man的帖子

java.io.FileNotFoundException 打开失败:ENOENT(没有这样的文件或目录)

我有一个临时文件,用于从裁剪库创建图像,我可以在设备文件资源管理器中看到该文件,但当我尝试打开该文件时,出现此错误:

java.io.FileNotFoundException:文件:/data/user/0/com.example.demo/cache/.tmp/cropped1651879842159823361.png:打开失败:ENOENT(没有这样的文件或目录)

该文件的创建方式如下:

val croppedImageFile = File.createTempFile("cropped", ".png", viewModel.tempPath)
val destinationUri = Uri.fromFile(croppedImageFile)
Run Code Online (Sandbox Code Playgroud)

viewModel.tempPath 如下:

viewModel.tempPath = "${this.cacheDir}/.tmp"
Run Code Online (Sandbox Code Playgroud)

我可以看到该文件已创建并且有效,但是当我尝试访问它时,它声称它不存在。我只是通过执行以下操作打开文件File(uri.toString())。在视图模型中

我不确定出了什么问题以及为什么找不到该文件。如果这很重要,我使用的是带有 google play 的模拟器,并且是 Android 11。

android kotlin android-fileprovider ucrop

8
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC 3网站防伪标记仅在IE上失败

在我的MVC 3项目中,我有一个登录页面,它使用MVC 3中内置的防伪逻辑.

在Firefox和Opera上工作得很好,但在IE上我得到了这个:

A required anti-forgery token was not supplied or was invalid.
Run Code Online (Sandbox Code Playgroud)

我真的难以理解为什么只有IE遭受这种情况,我检查了cookie设置,它们设置与其他浏览器相同,所以我在这里迷路了.

当我使用反伪造代码时,我同时使用SALT和域检查(这应该不重要,但值得一说).

这是视图代码:

@model login.Models.LogOnModel

@{
    ViewBag.Title = "Log On";
}

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

<script type="text/javascript">
$(function () {
    //focus on form.
    $("#UserName").focus();
});
</script>

 @using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "form login" })) {
@Html.AntiForgeryToken("!@#Hq4(", ViewBag.AppDomain, "/")
<div id="box">
<h1>Login</h1>
Please enter your username and password. @Html.ActionLink("Register", "Register") if you don't have an account.
<div class="block" id="block-login">
    <h2>
        Login …
Run Code Online (Sandbox Code Playgroud)

c# antiforgerytoken asp.net-mvc-3

6
推荐指数
2
解决办法
4040
查看次数

CKEditor - 让它返回markdown语法而不是HTML

我正在使用CMS平台,我打算使用CKEditor,因为它似乎提供了我需要的一切.

对我来说有点麻烦的一件事是,我希望我的内容采用降价格式而不是html,而我发现了BBCode扩展,我无法弄清楚它是如何重新制作以支持降价的.

我试图找到一个开箱即用的降价编辑器,但我找到的那些对于我需要的东西来说太简单了,CKEditor有一个插件系统可以完美调整我的好处.

markdown ckeditor

5
推荐指数
2
解决办法
5079
查看次数

由 Ad-Hoc 安装时 IPA 文件不起作用

我希望为我们的 QA 团队在 App Center 上获得我们的移动应用程序的第一个修订版,但我陷入了 iOS 部署的困境。

读过这个,读过那个,读过这个,不管我的应用程序没有正确安装在我的手机上。

当 appcenter 在我的 iphone 上安装该应用程序时,我看到它正在尝试安装它并且有一个应用程序(即使由于某种原因它没有选择我的图标)并且单击该应用程序没有任何作用。

我根本不确定我做错了什么。我在开发人员门户上制作了适当的证书和内容,并将我的设备添加到了 appcenter 网站和我的苹果开发人员门户,所以此时我对我做错了什么感到迷茫。

任何形式的清晰度将不胜感激。

编辑:所以查看日志我收到以下消息:

无法在 com.mydomain.demoapp 上执行“Promote”操作,因为它当前不受支持

占位符的所有操作尝试均失败:com.mydomain.demoapp

我不知道那是什么意思,希望有人能告诉我。

xamarin.ios ad-hoc-distribution ios ipa visual-studio-app-center

3
推荐指数
1
解决办法
1698
查看次数

Kotlin Flow“在此范围内有多个具有此类名称的标签”

我有一个流集合,我想要执行一个条件,如果列表为空则返回,因为没有进一步的工作要做。

我的问题是 Android studio 向我抛出一条烦人的消息

此范围内有多个具有此类名称的标签

我假设它很沮丧,因为我正在收集中进行收集(请参阅下面的代码,希望它能理解我为什么这样做)。

有没有一种方法可以重新标记集合,以便它知道我在谈论哪一个,我在上面没有看到任何内容。

另外,我是流程新手,所以如果我做错了,请告诉我正确的方法,因为这似乎是有效的,因为我需要一个流程用于另一个流程。

viewModelScope.launch {
    companyDataStore.getFromDataStore()
        .catch { e ->
            _snackBar.value = e.message
        }.collect { company ->
            companyFeatures = company.features

            userClient.getGroupsByFeatures(companyFeatures)
                .catch { e ->
                    _snackBar.value = e.message
                }
            .collect { groupList ->
                if (groupList.data?.size == 0)
                {
                    return@collect
                }

                groups = groupList.data!!
                feedFilter.group = groups.firstOrNull()?.guid
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin android-studio kotlin-coroutines kotlin-flow

3
推荐指数
1
解决办法
1160
查看次数

返回视图时 FragmentManager 已经在执行事务

我有一个视图,它有一个 tablayout 激活 viewpager,在查看页面时它工作正常,但是如果我单击该视图上的一个项目然后返回到过去的屏幕,我会得到:

Java.Lang.IllegalStateException:FragmentManager 已经在执行事务

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    CurrentActivity = Activity;

    var view = inflater.Inflate(Resource.Layout.fragment_directory, null);

    _tabLayout = view.FindViewById<TabLayout>(Resource.Id.directory_tabs);
    _viewPager = view.FindViewById<ViewPager>(Resource.Id.directory_pager);

    SetTabLayout();
    SetViewPager();

    return view;
}

private void SetTabLayout()
{
    var userTab = _tabLayout.NewTab();
    userTab.SetText("Users");

    var orgUnitsTab = _tabLayout.NewTab();
    orgUnitsTab.SetText("Organizations");

    _tabLayout.AddTab(userTab);
    _tabLayout.AddTab(orgUnitsTab);
    _tabLayout.TabGravity = TabLayout.GravityFill;
}

private void SetViewPager()
{
    var pagerAdapter = new DirectoryPagerAdapter(FragmentManager, _tabLayout.TabCount);

    _viewPager.Adapter = pagerAdapter;
    _viewPager.AddOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(_tabLayout));
}
Run Code Online (Sandbox Code Playgroud)

不确定它是否有所作为,但是当我离开这个视图时,我从一个片段变成了一个活动。

xamarin.android android-viewpager android-tablayout

1
推荐指数
1
解决办法
5813
查看次数