小编X0r*_*r0N的帖子

如何从iOS照片库中获取图像并将其显示在UIWebView中

我已经看过很多UIImage用于输出图像的例子.我想将输出设置为a,UIWebView因为我想在图像周围添加一些额外的HTML格式.

我想让照片库返回存储在iOS设备上的图像的相对路径,这样我就可以将它放在'img'HTML标签的'src'属性中.

这可能吗?


编辑1

我不得不修改我想要的代码,但这似乎不起作用.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //Get Image URL from Library
    NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL];
    NSString *urlString = [urlPath absoluteString];
    NSLog(urlString);

    NSURL *root = [[NSBundle mainBundle] bundleURL];
    NSString *html;
    html = @"<img src='";
    html = [html stringByAppendingString:urlString];
    html = [html stringByAppendingString:@"' />"];
    [MemeCanvas loadHTMLString:html baseURL:root];

    [picker dismissViewControllerAnimated:YES completion:^{}];
}
Run Code Online (Sandbox Code Playgroud)

我能够记录资产库URL,但似乎没有显示图像UIWebView.我不知道我需要将baseURL更改为.

任何帮助赞赏.


编辑2

我改变UIImagePickerControllerReferenceURLUIImagePickerControllerMediaURL,现在它崩溃了,因为当我将它附加到字符串时它不喜欢它stringByAppendingString:urlString

它给了我错误:

因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [__ NSCFConstantString stringByAppendingString:]:nil参数'

你知道这可能导致什么吗?

objective-c uiwebview ios

22
推荐指数
2
解决办法
4万
查看次数

React-Native Detect Screen Notch

我使用nativebase.io作为我的应用程序的UI框架.

我的问题

当我输入IOS设备的标题时,如果iPhone模拟器正在模拟iPhone X(屏幕顶部有一个凹口),Header元素会自动检测到这一点,并将Header元素移到屏幕下方.

一些Android设备在屏幕顶部也有类似的缺口,但是当我使用nativebase.io Header元素时,它不会检测到缺口并且Header与缺口重叠.

我的问题

是否有一种方法在react-native或nativebase.io上检测显示是否有缺口?这样我就能动态地偏移Header.

react-native native-base

15
推荐指数
4
解决办法
1万
查看次数

如何将视频从我的USB网络摄像头传输到远程HTML页面

我想创建一个程序,将视频从我的USB网络摄像头通过互联网传输到网页.

目前,我使用的Web服务在触发时,调用fswebcam捕获图像,保存到数据存储,转换为base64二进制文件并将数据发送到HTML页面,然后将其呈现为'img'的'src'属性.HTML页面具有每秒调用此服务一次的JavaScript.

你可以说这是一种可怕的方法.如果可以的话,我宁愿有适当的流.但我不知道有哪些技术可以实现这一目标.

Web服务是用来写的nodeJS.服务器正在运行raspberry pi 2.我没有提出这个问题,raspberry pi forum因为我认为这是一个普遍的Linux/programming问题.

video streaming webcam stream node.js

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

Prisma 未返回已创建相关记录

我想创建一个新的 graphql api,但我有一个正在努力解决的问题。

该代码是开源的,可以在以下位置找到: https: //github.com/glitr-io/glitr-api

我想创建一个突变来创建具有关系的记录...似乎该记录是使用所有预期的关系正确创建的(当直接检查到数据库时),但是该方法返回的值create<YourTableName>缺少所有关系。

...所以我在 api 上收到错误,因为“无法为不可为空的字段 Meme.author 返回 null。”。我无法弄清楚我的代码中可能有什么问题。

解析器如下所示:

...
const newMeme = await ctx.prisma.createMeme({
                author:  {
                    connect: { id: userId },
                },
                memeItems: {
                    create: memeItems.map(({
                        type,
                        meta,
                        value,
                        style,
                        tags = []
                    }) => ({
                        type,
                        meta,
                        value,
                        style,
                        tags: {
                            create: tags.map(({ name = '' }) => (
                                {
                                    name
                                }
                            ))
                        }
                    }))
                },
                tags: {
                    create: tags.map(({ name = '' }) => (
                        {
                            name
                        }
                    ))
                } …
Run Code Online (Sandbox Code Playgroud)

graphql prisma prisma-graphql

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

是的,以及 `Yup.lazy()` 的 Typescript 模式接口

我正在努力为 yup 模式创建打字稿界面(https://github.com/jquense/yup/blob/master/docs/typescript.md

给定打字稿接口:

interface TestInterface {
  name: string;
};
Run Code Online (Sandbox Code Playgroud)

以下返回类型是有效的:

const testSchema: Yup.SchemaOf<TestInterface> = Yup.object().shape({
  name: Yup.string().required()
});
Run Code Online (Sandbox Code Playgroud)

但在我的代码中,我已经Yup.lazy()被使用,但我无法找出应该如何为以下内容创建接口:

const testSchema: Yup.SchemaOf<TestInterface> = Yup.object().shape({
  name: Yup.lazy(() => Yup.string().required())
});
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Type 'ObjectSchema<Assign<ObjectShape, { name: Lazy<RequiredStringSchema<string, Record<string, any>>, Record<string, any>>; }>, Record<...>, TypeOfShape<...>, AssertsShape<...>>' is not assignable to type 'ObjectSchemaOf<TestInterface>'.
  Type 'Assign<ObjectShape, { name: Lazy<RequiredStringSchema<string, Record<string, any>>, Record<string, any>>; }>' is not assignable to type '{ name: BaseSchema<string, AnyObject, string>; }'.
    Types of property 'name' are …
Run Code Online (Sandbox Code Playgroud)

typescript typescript-generics yup

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

AsyncStorage与Expo.SQLite

我正在创建和下载,上传,存储许多图像的应用程序。我正在尝试查看如何最好地管理数据以提高性能。

我正在使用Redux来存储我的应用程序的状态,并且我使用redux-persist来将状态存储在AsyncStorage中。

但我也了解到create-react-native-app在expo包中还提供了一个称为SQLite的模块。(https://docs.expo.io/versions/latest/sdk/sqlite.html)。

我试图找出在哪里存储我的数据是一个好主意。

我应该将所有图像(base64编码)存储到redux吗?这可能多达100mb的数据。还是我应该将图像存储到SQLite中(假设数据像sqlite“ .db”文件一样平放)?

sqlite asyncstorage expo create-react-native-app

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

React-Native 在 Android 上禁用图像缓存

我正在尝试为我正在创建的演示应用程序使用随机图像生成器。

我已经尝试了端点:

  1. http://thecatapi.com/api/images/get?format=src&type=gif&size=small
  2. http://junglebiscuit.com/images/random/rand_image.pl

但是当我将图像列表添加到我的页面时:

<View>
    <Image
        source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
        style={{ width: 100, height: 100 }}
    />
    <Image
        source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
        style={{ width: 100, height: 100 }}
    />
    <Image
        source={{ uri: 'http://thecatapi.com/api/images/get?format=src&type=gif&size=small' }}
        style={{ width: 100, height: 100 }}
    />
</View>
Run Code Online (Sandbox Code Playgroud)

期望是对于每个Image组件,将显示不同的图像。奇怪的是,这不适用于 Android。似乎图像或 url 被缓存在某处,因此当使用相同的 URI 再次呈现图像时,将显示相同的图像。

我在 IOS 上尝试过相同的应用程序(该应用程序是使用 react native expo.io 创建的)。IOS 上的图像与预期不同,这似乎是 Android 特有的问题。

有没有办法防止android缓存图像并在每次Image渲染组件时显示不同的图像?

android caching react-native expo

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

Docker Swarm覆盖网络在节点之间不起作用

我试图在docker swarm中将我的docker服务连接在一起。

网络由2个覆盆子pi组成。

我可以创建一个名为的覆盖网络,test-overlay并且可以看到任何一个树莓派节点上的服务都可以连接到该网络。

我的问题:

我无法链接到覆盖网络节点之间的服务。

给定以下节点和服务配置,service1可以使用该地址http://service2连接到 service2。但不适用于http://service3。但是http://service3可以从访问service4

node1:
  - service1
  - service2
node2:
  - service3
  - service4
Run Code Online (Sandbox Code Playgroud)

我是docker swarm的新手,感谢您的帮助。

检查覆盖

sudo docker inspect network test-overlay在两个节点上都运行了命令。

在主节点上,这将返回以下内容:

[
    {
        "Name": "test-overlay",
        "Id": "skxhz8sb3f82dhh9jt9t3j5yl",
        "Created": "2018-04-15T20:31:20.629719732Z",
        "Scope": "swarm",
        "Driver": "overlay",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "10.0.0.0/24",
                    "Gateway": "10.0.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": { …
Run Code Online (Sandbox Code Playgroud)

networking docker docker-swarm docker-swarm-mode

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

关于滚动事件的UIWebview

我想知道如何在用户停止在UIWebview内的页面上滚动时调用方法.

有谁知道如何做到这一点?

objective-c uiwebview ios

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

循环保存到 MongoDB

我在将新记录保存到 mongoDB 时遇到问题。我很确定我在代码中使用了一些我不完全理解的东西,我希望有人能够提供帮助。

我正在尝试为每只猫将新记录保存到 mongoDB 中。这段代码适用于node.js

for(var x = 0; x < (cats.length - 1); x++){
    if (!blocked){
      console.log("x = "+x);
      var memberMessage = new Message();
      memberMessage.message = message.message;
      memberMessage.recipient = room[x].userId;

      memberMessage.save(function(err){
        if (err) console.log(err);

        console.log(memberMessage + " saved for "+cats[x].name);
      });
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

我在循环之前记录“cats”的值,并且确实得到了我期望的所有名称,因此我认为循环遍历数组将为每个循环存储一个新记录。

似乎发生的情况是,当我查看数据库时,它似乎只保存了每个循环周期的最后一条记录。我不知道它会如何/为什么这样做。

感谢您对此的任何帮助,因为我是 node.js 和 mongoDB 的新手。

谢谢。

javascript arrays loops mongodb node.js

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