标签: image-upload

在PHP中调整图像大小

我想写一些PHP代码,自动调整通过表单上传到147x147px的任何图像,但我不知道如何去做(我是一个相对的PHP新手).

到目前为止,我已成功上传图片,识别文件类型并清理名称,但我想将调整大小功能添加到代码中.例如,我有一个2.3MB的测试图像,尺寸为1331x1331,我希望代码可以缩小尺寸,我猜测它也会大大压缩图像的文件大小.

到目前为止,我有以下内容:

if ($_FILES) {
                //Put file properties into variables
                $file_name = $_FILES['profile-image']['name'];
                $file_size = $_FILES['profile-image']['size'];
                $file_tmp_name = $_FILES['profile-image']['tmp_name'];

                //Determine filetype
                switch ($_FILES['profile-image']['type']) {
                    case 'image/jpeg': $ext = "jpg"; break;
                    case 'image/png': $ext = "png"; break;
                    default: $ext = ''; break;
                }

                if ($ext) {
                    //Check filesize
                    if ($file_size < 500000) {
                        //Process file - clean up filename and move to safe location
                        $n = "$file_name";
                        $n = ereg_replace("[^A-Za-z0-9.]", "", $n);
                        $n = strtolower($n);
                        $n = "avatars/$n";
                        move_uploaded_file($file_tmp_name, $n); …
Run Code Online (Sandbox Code Playgroud)

php image-processing image-upload image-resizing

75
推荐指数
7
解决办法
28万
查看次数

致命错误:命名空间声明语句必须是脚本中的第一个语句

我正在尝试使用它为我的网站创建一个图像表单上传,我使用它的原因是因为它比自己做所有事情更安全(但如果有人可以指出另一个工作脚本我将不胜感激)

simon-eQ/ImageUploader

Fatal error: Namespace declaration statement has to be the very first statement in the script in C:\xampp\htdocs\project\lib\ImageUploader.php on line 4
Run Code Online (Sandbox Code Playgroud)

看一下源代码:

<br />
<b>Fatal error</b>:  Namespace declaration statement has to be the very first statement in the script in <b>C:\xampp\htdocs\project\lib\ImageUploader.php</b> on line <b>4</b><br />
Run Code Online (Sandbox Code Playgroud)

我尝试过包含,需要它仍然无法正常工作.

php image-upload

28
推荐指数
8
解决办法
10万
查看次数

将用户个人资料图片存储在磁盘或数据库中?

我正在构建一个asp.net mvc应用程序,用户可以将图片附加到他们的个人资料中,也可以在系统的其他区域附加,例如仪表板上显示最近消息等的消息小工具.

当用户上传这些内容时,我想知道将它们存储在数据库或磁盘上是否更好.

数据库优势

  • 易于备份整个数据库,并保留配置文件内容/图像与相关的配置文件/用户表

  • 当我稍后在轨道上构建Web服务时,他们可以从一个位置(数据库)中提取所有与profiile相关的数据

文件系统的优点

  • 从磁盘加载文件可能更快

  • 还有其他什么好处

其他网站在哪里存储此类信息.对于类似这样的事情,我是否有点担心数据库性能?

也许有一种方法可以缓存从数据库中提取的图像一段时间?

或者,将这些图像存储在数据库中的想法如何,但是将它们复制到磁盘,以便Web服务器可以从那里加载它们?这似乎既提供了Db的备份和便利,同时提供了磁盘上文件的速度优势.

有问题的基础设施

  • 该网站将部署到运行NTFS文件系统的Windows Server 2003上的IIS.
  • 该数据库将是SQL Server 2008

摘要

在SO上阅读很多相关的线程,许多人现在趋向于SQL Server Filestream类型.然而,从我可以收集的内容(我可能是错的),当文件非常小时,没有太大的好处.然而,当文件是多个MB或更大时,文件流看起来会大大提高性能.

由于我的个人资料图片往往约为5kb,我决定将它们作为varbinary(max)存放在数据库的文件存储中.

在ASP.NET MVC中,我确实看到了一些性能问题,返回FileContentResults从这样的数据库中拉出的图像.所以如果在我的应用程序缓存中找不到该文件的位置,我最终会在磁盘上缓存该文件.

所以我想我选择了混合动力车;

  • 数据库存储使数据烘焙更容易,文件直接链接到配置文件
  • 影子复制到磁盘以允许更好的缓存

在任何时候我都可以删除磁盘上的缓存文件夹,并且当重新请求图像时,它们将在第一次命中时被重新复制并在之后从缓存中提供.

profile image-upload

17
推荐指数
2
解决办法
9991
查看次数

Django REST Framework图像上传

我有型号产品:

def productFile(instance, filename):
    return '/'.join( ['products', str(instance.id), filename] )

class Product(models.Model):
    ...

    image = models.ImageField(
        upload_to=productFile,
        max_length=254, blank=True, null=True
    )
    ...
Run Code Online (Sandbox Code Playgroud)

然后我有序列化器:

class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = (
            ...
            'image',
            ...
        )
Run Code Online (Sandbox Code Playgroud)

然后我有意见:

class ProductViewSet(BaseViewSet, viewsets.ModelViewSet):
    queryset = Product.objects.all()
    serializer_class = ProductSerializer
Run Code Online (Sandbox Code Playgroud)

如何使用Postman上传图片?将图像上传到模型的最佳做法是什么?谢谢.

django image-upload django-rest-framework

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

如何从HTML表单上传带有python-tornado的图像?

我看到使用pycurl的例子,但不能确定这是否可以使用?一些例子会有所帮助.谢谢.

python tornado image-upload

14
推荐指数
3
解决办法
3万
查看次数

Flutter web - 将图像文件上传到 Firebase 存储

在 flutter web 上,我从计算机中选择一个图像文件并获取一个 File 图像对象。然后我想将它上传到 Firebase 存储。对于 Android 和 iOS 版本的应用程序,我使用了 Firebase Cloud Function 和 http 多部分请求。它有效,但对于该应用程序的网络版本则无效。所以,

如何直接或通过 Cloud Functions 将 html 图像文件上传到 Firebase 存储?

file-upload image-upload google-cloud-functions firebase-storage flutter-web

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

symfony2:在控制器操作中设置表单外部的表单字段的值

我需要设置symfony2表单元素的值.我在Controllers Action中使用了一个doctrine2实体,一个Symfony\Component\Form\AbstractType和createForm()方法.

$saleDataForm = $this->createForm(new SaleType(), $sale);
Run Code Online (Sandbox Code Playgroud)

现在,我如何从该表单中获取元素,以及如何设置它的值?我想做这样的事情,但它不起作用:

$saleDataForm->get('image')->setValue('someimapge.jpg');
Run Code Online (Sandbox Code Playgroud)

FYI:我需要这样做,以正确渲染场(使用这种方法,我场总是空的,我需要将其设置为内容的ImagePath呈现上传图像的预览)

forms image-upload symfony-forms symfony doctrine-orm

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

如何在asp.net mvc 4中上传图像并显示在同一页面上

我使用asp.net mvc4razor语法开发了一个Web应用程序.我需要使用文件上传器上传图像,并在同一页面中显示图像的详细信息.

作为一个例子有一个"file uploader""submit button""contact page"我的应用程序.当我上传一个人的图像和click提交按钮时,它应该在页面的某个位置显示图像,其中的详细信息如图像名称,大小等.

有没有可能实现这一目标的方法?

这是我的控制器类的代码

public class FileUploadController : Controller
    {
        //
        // GET: /FileUpload/

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult FileUpload()
        {
            return View();
        }

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult FileUpload(HttpPostedFileBase uploadFile)
        {
            if (uploadFile.ContentLength > 0)
            {
                string filePath = Path.Combine(HttpContext.Server.MapPath("~/Img/"),
                                               Path.GetFileName(uploadFile.FileName));
            }
            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是视图的代码

<h2>FileUpload</h2>

     @(Html.BeginForm("FileUpload", "FileUpload",FormMethod.Post, new { enctype = "multipart/form-data" }))
        <input name="uploadFile" type="file" />
        <input type="submit" …
Run Code Online (Sandbox Code Playgroud)

c# image-upload razor asp.net-mvc-4

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

如何从angular 2 onDrop事件中获取文件?

我试过这样但是onDrop当我放弃它时方法不返回图像文件...

onDragStart(event, data: any) {
  event.dataTransfer.setData('data', data);
}
onDrop(event, data: any) {
  let dataTransfer = event.dataTransfer.getData('data');
  event.preventDefault();
}
allowDrop(event) {
  event.preventDefault();
}


<div (drop)="onDrop($event, dropData)" (dragover)="allowDrop($event)"></div>
<div (dragstart)="onDragStart($event, dragData)"></div>
Run Code Online (Sandbox Code Playgroud)

对此有何解决方案?

javascript drag-and-drop image-upload angular

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

正在上传图片文件

你能帮我把django表格上的图片上传工作吗?

Models.py

class User_Profile(models.Model):
    user = models.OneToOneField(User, unique=True, related_name='profile')
    photo  = models.ImageField(upload_to = 'profiles/', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

Forms.py

class ProfileForm(forms.ModelForm):
        class Meta:
            model = User_Profile
            exclude = ('user')
Run Code Online (Sandbox Code Playgroud)

Views.py

    if request.method == 'POST':
        profile_form = ProfileForm(request.POST, instance=request.user.profile)

        if profile_form.is_valid():
            profile_form.save()
            return HttpResponseRedirect('/panel/correct/')

    else:
        profile_form = ProfileForm(instance=request.user.profile)
Run Code Online (Sandbox Code Playgroud)

我的html表单已包含 enctype="multipart/form-data"

django file-upload image-upload

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