小编edc*_*dcs的帖子

iOS 6 Safari图片上传 - 方向错误

我已经构建了一个Web应用程序,可以让您从浏览器上传照片.在iOS 6中使用此功能时,即使上传照片时,照片也会以横向方式拍摄.我应该做一些服务器端检查以正确的方式获取图像或是否有某种iOS特定属性/ JavaScript我可以应用于上传表单来解决这个问题?

更新

根据要求,这是我写的代码.先决条件是我使用PHP和WideImage库(这是一个更大的脚本的片段,因此如果你愿意,你可以使用不同的图像操作).

// Load Image Into Wide Image
$image=WideImage::load(IMG_UPLOAD_DIR.$result['name']);
$exif=exif_read_data(IMG_UPLOAD_DIR.$result['name']);
$orientation=$exif['Orientation'];
$result['orientation']=$orientation;

// Use Wide Image To Resize Images
$full=$image->resize(IMG_FULL_H,IMG_FULL_H);
$thumb=$image->resize(IMG_THUMB_W,IMG_THUMB_H);

switch($orientation){
    case 2:
        $full->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 3:
        $full->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 4:
        $full->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 5:
        $full->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 6:
        $full->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 7:
        $full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    case 8:
        $full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break;

    default:
        $full->saveToFile(IMG_UPLOAD_DIR.$result['name'], 90);
        $thumb->saveToFile(IMG_UPLOAD_DIR.$thumbName, 90);
        break; …
Run Code Online (Sandbox Code Playgroud)

forms safari upload image ios

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

在React Native Custom UI Component中使用CocoaPods模块

我正在构建一个React Native UI组件,该组件将使用Google Maps iOS SDK在React应用程序中呈现地图.这是作为静态Cocoa Touch Framework构建的,因此我可以在不同的项目中使用它.

到目前为止,这个框架并没有做太多,我只是试图让它在我尝试做任何有用的事情之前进行编译.我Podfile在Google Maps SDK中加载了一个,我运行了pod install命令:

# Uncomment this line to define a global platform for your project
platform :ios, '8.1'
# Uncomment this line if you're using Swift
# use_frameworks!

target 'GoogleMapView' do
    source 'https://github.com/CocoaPods/Specs.git'
    pod 'GoogleMaps'
end
Run Code Online (Sandbox Code Playgroud)

我有GoogleMapView.hGoogleMapView.m文件将在这个模块中做繁重的工作.现在他们并没有做太多的事情:

@import GoogleMaps;

@interface GoogleMapView: GMSMapView

@end
Run Code Online (Sandbox Code Playgroud)

-

#import "GoogleMapView.h"

@implementation GoogleMapView {
    GMSMapView *mapView_;
}

- (void)viewDidLoad {
    // Create a GMSCameraPosition that tells the map …
Run Code Online (Sandbox Code Playgroud)

xcode google-maps objective-c cocoapods react-native

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

检测HTML5 Media Capture API支持

有没有办法检测浏览器是否支持我正在构建的移动网站的HTML5 Media Capture API?我似乎只能找到检测getUserMedia()支持的解决方案.

我希望能够为移动用户提供以下两种方案之一:

  • 用户的浏览器支持API,因此会显示两个上传按钮,一个激活相机,另一个激活图像库.
  • 用户的浏览器不支持API,因此只显示一个上传按钮,如果浏览器支持accept参数,希望激活图库.

media api html5 capture

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

Laravel 5.3,检查上传文件是否大于upload_max_filesize(可选上传)

在Laravel 5.3中,我试图捕获上传文件的文件大小是否大于upload_max_filesize.上传字段不是必需的.

我尝试过这种方法,但它不起作用

public function checkFile($field)
{
    if (request()->hasFile($field)){ // check if field is present
        $file = request()->file($field);
        if (!$file->isValid()){ // now check if it's valid
            return back()->with('error', $file->getErrorMessage());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不能使用只是if (!$file->isValid())因为文件字段是可选的,我得到一个Call to a member function isValid() on nullif字段是空的.

所以我必须检查字段是否存在使用if (request()->hasFile($field)),但这不适用于大文件,因为dd(request()->hasFile('picture'))返回false.

当然,我可以依赖默认的Laravel Validator消息,但是我得到一个The picture failed to upload.不给用户任何线索的假人.

php upload laravel

7
推荐指数
2
解决办法
4165
查看次数

每次 PHPUnit 测试后换行

我在使用 PHPUnit 的 Laravel 项目上设置了一个测试套件。通常,指示测试是否通过的点显示在同一行上,但是在这个项目中,每个点都用新行分隔:

在此输入图像描述

我搜索了所有测试,看看是否有东西回显 an\n或 aPHP_EOL但看不到任何东西,我尝试了不同版本的 PHPUnit,并且尝试使用全新的测试套件重新开始。这些尝试都没有解决问题!该测试套件的配置phpunit.xml也与其他项目相同。

谁能建议我还能做些什么来解决这个问题?

php testing phpunit laravel laravel-5

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

在 UIView 中包含 UIViewController

在开发 React Native 原生 UI 组件时,RCTViewManager期望您定义一个view返回UIView. 这是我目前设置的一个基本示例,这只是在屏幕上呈现一个小的灰色方块:

@implementation RNThingComponent

- (void)drawRect:(CGRect)rect
{
    [[UIColor grayColor] setFill];

    CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
}

@end


@implementation RNThingtManager

RCT_EXPORT_MODULE()

- (UIView *)view
{
    RNThingtComponent * view;

    view = [[RNThingtComponent alloc] init];

    return view;
}

@end
Run Code Online (Sandbox Code Playgroud)

我已经构建了很多这样的本机组件,但是我现在正在开发一个组件,它希望我设置 aUIViewController以呈现它的视图。

是否可以将它包装UIViewController在 a 中,UIView以便我可以将视图返回给 React Native,或者我必须以某种方式UIViewController使用它?

objective-c uiviewcontroller uiview ios react-native

5
推荐指数
0
解决办法
837
查看次数

如何根据多个字段选择不同的行

我有一个表,其中包含MSSQL数据库中一系列事件的数据:

ID  Name                                                      Date        Location                         Owner
--- --------------------------------------------------------- ----------- -------------------------------- -----------
1   Seminar Name 1                                            2013-08-08  A Location Name                  16
2   Another Event Name                                        2013-07-30  Another Location                 18
3   Event Title                                               2013-08-21  Head Office                      94
4   Another Title                                             2013-08-30  London Office                    18
5   Seminar Name 2                                            2013-08-27  Town Hall                        19
6   Title                                                     2013-08-20  Somewhere Else                   196
7   Fake Seminar For Testing                                  2013-08-25  Fake Location                    196
Run Code Online (Sandbox Code Playgroud)

希望您可以看到此表包含许多由我们的应用程序中的多个用户拥有的事件.我试图找出是否有一个查询,我可以用来为每个用户选择最近发生的事件.我认为显示我想要的最简单的方法是显示我正在寻找的理想结果表(基于今天的日期):

ID  Name                                                      Date        Location                         Owner
--- --------------------------------------------------------- ----------- -------------------------------- -----------
1   Seminar Name 1 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server select distinct

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

将密码管理器集成到 iPhone 应用程序中

我注意到一些 iPhone 应用程序已经开始允许您使用密码管理器登录。Slack 就是一个例子:

松弛登录

Slack 密码管理器

看起来有一个链接会触发 Safari 中共享工具栏的部分版本,让您可以访问您最喜欢的密​​码管理器的小部件。这就是到目前为止我所能弄清楚的。

我的问题是,他们如何将此功能添加到他们的应用程序中?我主要使用 React Native 开发东西,但如果它需要自定义组件那么这不是问题。

passwords ios react-native

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

Spotify App API - 播放列表订阅

查看APP API,您似乎可以确定用户是否订阅了播放列表.但是,我的应用程序要求用户能够从播放列表中订阅或取消订阅.

这有可能使用Javascript App API吗?

javascript api spotify playlist

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

对Redux操作名称使用数字

使用Redux时的一个常见惯例是将操作存储在自己的文件中,const如下所示:

export const USER_AUTH_ATTEMPT = 'USER_AUTH_ATTEMPT';
export const USER_AUTH_CHECK = 'USER_AUTH_CHECK';
export const USER_AUTH_FAIL = 'USER_AUTH_FAIL';
export const USER_AUTH_SUCCESS = 'USER_AUTH_SUCCESS';
export const USER_AUTH_LOGOUT = 'USER_AUTH_LOGOUT';
Run Code Online (Sandbox Code Playgroud)

动作名称的值通常是a string.使用像这样的约定会有什么好处吗?:

export const USER_AUTH_ATTEMPT = 0;
export const USER_AUTH_CHECK = 1;
export const USER_AUTH_FAIL = 2;
export const USER_AUTH_SUCCESS = 3;
export const USER_AUTH_LOGOUT = 4;
Run Code Online (Sandbox Code Playgroud)

操作的值将存储为整数,这可能会减小文件大小.这样做会有任何负面影响吗?

javascript ecmascript-6 reactjs redux react-redux

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

YouTube iframe在移动设备上嵌入了空白

我正在一个简单的iframe上嵌入YouTube视频,该网站将在移动设备和桌面设备上进行查看.我用来嵌入视频的代码是这样的:

<iframe src="https://www.youtube.com/v/VIDEO_ID"></iframe>

我的印象是,如果Flash不可用,将提供HTML5播放器,但是当我在移动设备上调试此视频时,视频将在Flash中提供并且无法正常工作.

我使用的是错误的网址,还是需要做一些额外的事情才能正确嵌入视频?我注意到你也可以使用JavaScript进行iframe嵌入.

embed youtube flash mobile html5

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